Angular 2:view.setLocal('\$implicit', change.item);
曾经工作,但随着 rc.1 被删除 任何试图让这个工作的想法:
http://teropa.info/blog/2016/03/06/writing-an-angular-2-template-directive.html
ngDoCheck():void {
if (this.differ) {
let changes = this.differ.diff(this.items);
if (changes) {
console.log('template', this.template);
changes.forEachAddedItem((change) => {
let view = this.viewContainer.createEmbeddedView(this.template);
//todo: fix as broken in rc.1
//view.setLocal('\$implicit', change.item);
this.views.set(change.item, view);
});
changes.forEachRemovedItem((change) => {
let view = this.views.get(change.item);
let idx = this.viewContainer.indexOf(view);
this.viewContainer.remove(idx);
this.views.delete(change.item);
});
}
}
}
如何将 setLocal 更改为新版本的 set context? 问候
肖恩
最佳答案
解决方法是:
view.context.$implicit = change.item;
this.views.set(change.item, view);
关于 Angular 2 : view. setLocal ('\$implicit' , change.item);弃用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38029350/