我正在尝试创建一个嵌套的treeview。
@Component({
selector: "myItem",
template: `
<li *ngIf="!Array.isArray(data)"> {{data.text}} </li>
<ul *ngIf="Array.isArray(data)">
<myItem *ngFor="let x of data" [(data)] = "x.data"> </myItem>
</ul>
`
})
export class MyItemComponent {
static root = true;
data: any;
constructor() {
if (MyItemComponent.root) {
this.data = [
{ text: "foo" },
[{ text: "bar" }, { text: "foo" }]
];
MyItemComponent.root = false;
}
}
}
错误是
无法绑定到“数据”,因为它不是已知的本机属性(“ ta.text}}] [data] =” x.data“>”):MyItemComponent
编辑:如何实现删除按钮?模板应如下所示:
<li *ngIf="!Array.isArray(data)"> {{data.text}} <button (click)="clicked()"> delete me</button> </li>
<ul *ngIf="Array.isArray(data)"> <button (click)="clicked()"> delete me</button>
<myItem *ngFor="let x of data" [(data)] = "x.data"> </myItem>
</ul>
会是什么click
功能?
向组件添加自定义属性
我认为这将更好地解决您的问题:要能够绑定到较新版本的Angular2中的自定义属性,您必须使用[attr.custom]
语法。见这个问题,这其中以获取更多信息。
看看@yurzui的评论-它可以将您链接到工作中的Plunker
如果要将自定义输入添加到指令中
如果要将数据输入到指令中,可以使用Angular2的来完成Input
。例如
export class MyItemComponent {
//...
@Input('attribute') attribute: any;
//...
}
这将确保在Component Angular中将知道从何处获取数据。
感谢@GünterZöchbauer的澄清:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句