本身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相同的父组件