【发布时间】:2017-11-23 23:06:49
【问题描述】:
我正在使用以下代码在 angular4 中测试一个简单的递归 Treeview 组件。但是每当我尝试在toggle() 上扩展孩子们的视野时。
我收到异常错误:
ERROR TypeError: _v.context.$implicit.toggle 不是函数
谢谢
tree-view.component.ts
export class TreeViewComponent implements OnInit {
constructor() { }
ngOnInit() {}
@Input() directories: Directory[];
}
tree-view.component.html
<ul>
<li *ngFor="let dir of directories">
<label (click)="dir.toggle()"> {{ dir.title }}</label>
<div *ngIf="dir.expanded">
<tree-view [locations]="dir.children"></tree-view>
</div>
</li>
</ul>
目录.ts
export class Directory{
title: string;
children: Directory[]
expanded = true;
checked = false;
constructor() {
}
toggle() {
this.expanded = !this.expanded;
}
getIcon() {
if (this.expanded) {
return '-';
}
return '+';
}
}
【问题讨论】:
-
如何创建
Directory实例? -
我做 api 调用并将其直接反序列化到目录:Directory[] 传递给树视图组件
-
序列化不创建类实例。你只有对象数组
-
嗯,有趣的任何建议如何解决?
标签: javascript angular typescript angular5