angular 2: view.setLocal('\$implicit', change.item);
used to work but removed with rc.1 any ideas with what as trying to get this working:
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);
});
}
}
}
how would you change the setLocal to the new version of set context? regards
Sean
The solution is to do:
view.context.$implicit = change.item;
this.views.set(change.item, view);
EmbeddedViewRef.setLocal and getLocal have been removed.
Use EmbeddedViewRef.context to access the context.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With