本身recursion地使用组件来创build一棵树

你知道是否有可能使用组件本身? 如果是的话,在哪里阅读呢?

我有下一个情况:有mainItems的列表,每个Main Item都有subItem(与mainItem相同的样子),每个subItem都可以有它自己的subItem等,所以最好使用嵌套,但是怎么做呢?

更新

forwardRef()不再是必需的,因为directives被移到了NgModule.declarations ,因此recursion组件不需要再被指定为directives

Angular 4.xx Plunker示例

原版的

这支持。 你只需要在它的@Component()装饰器中添加组件到directives: [] 。 由于装饰器出现在类之前,并且类在声明之前不能被引用,因此forwardRef()是必需的。

 import {Component, forwardRef, Input} from '@angular/core' @Component({ selector: 'tree-node', template: ` <div>{{node.name}}</div> <ul> <li *ngFor="let node of node.children"> <tree-node [node]="node"></tree-node> </li> </ul> ` }) export class TreeNode { @Input() node; } 
 @Component({ selector: 'my-app', template: ` <div> <h2>Hello {{name}}</h2> <tree-node [node]="node"></tree-node> </div> `, directives: [TreeNode] }) export class App { constructor() { this.name = 'Angular2 (Release Candidate!)' } node = {name: 'root', children: [ {name: 'a', children: []}, {name: 'b', children: []}, {name: 'c', children: [ {name: 'd', children: []}, {name: 'e', children: []}, {name: 'f', children: []}, ]}, ]}; } 

Angular 2.0.0-beta.x Plunker示例

另请参见注入与子组件types相同的父组件