您好,我对 Angular 2 还很陌生,想写一个 ngFor 的实现来练习。我找到了这个教程: https ://teropa.info/blog/2016/03/06/writing-an-angular-2-template-directive.html
我让它工作,但最近我不断收到这个错误。“错误类型错误:this._trackByFn 不是函数”。
我希望可以对此进行更多调试,但文档很少,而且我并不完全理解 IterableDiffer(s)。所有人都看到它在第 41 行之后死了。我一直试图弄清楚我现在改变了几个小时。
let changes = this.differ.diff(this.collection);
这是plunk:http ://plnkr.co/edit/aM8Wdz72gu7BVNAN9Ulv?p=preview
感谢您提供的任何帮助。
更新:
我发现如果我在 Angular 2 中运行它,我可以让我的指令工作,并去掉不同的类型,如下所示:
private differ:IterableDiffer
(now)
private differ:IterableDiffer<any>
(before)
仍然不是解决方案,因为我想弄清楚如何在 Angular 4 中完成这项工作。