Angular 2 : view. setLocal ('\$implicit' , change.item);弃用什么?

标签 angular

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/

相关文章:

angular - 连续休息 API http 调用 Angular 4

javascript - 如何使用 Angular 4 向 azure 函数发出发布请求?

java - 如何在基于 Maven 的 Java War 项目中设置 Angular 4

spring - http 响应中缺少 Angular2 JWT 授权 header (添加了 CORS 支持)

angular - 如何断点和调试 Angular 模板?

angular - 无法使用 chrome-headless 在 docker 中运行 angular-cli karma 测试

angular - 如何在鼠标悬停时显示 Angular Material 下拉菜单?

javascript - 如何在angular2中的选择更改事件中获取值

arrays - Typescript:如何访问数组对象的元素?

Angular 9+ : nested ng-content and ContentChildren