Angular 2组件中“controllerAs”指令属性的类比是什么?

5
我开始将我的一个Angular 1指令迁移到Angular 2组件。
我目前正在处理的指令具有"controllerAs: 'ctrl'"属性,指令模板使用"ctrl."前缀访问属性。
查看 official ComponentMetadata doc,我没有看到可以替代此属性的任何属性。

每个组件的 Class 都有它们自己的上下文 this,所以你不需要在 Angular2 中创建控制器别名,在 HTML 中直接访问 this 上下文即可。 - Pankaj Parkar
1个回答

10

在 Angular 2 中没有与 controllerAs 相等的东西。例如,考虑到这个控制器类和模板:

@Component({
    selector: 'component-a',
    template: `<div class="component-a">
                <div class="counter" (click)="increment()">Component A: {{counter}}</div>
              </div>`
})
export class ComponentA {

    counter = 0;

    increment() {
        this.counter += 1;
    }

}
在方法increment()中,this被绑定到该组件自身的控制器实例。在模板中,计数器可以通过{{counter}}访问。
正如我们所看到的,没有为控制器命名的机制,因为我们已经可以使用默认功能访问它。
你可以认为controllerAs机制已经集成在Angular 2默认组件功能中,也可以认为该功能已被删除,因为它不再需要,这取决于你怎么看。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接