我开始将我的 Angular 1 指令之一迁移到 Angular 2 组件。
我当前使用的指令具有controllerAs: 'ctrl'
属性,并且指令的模板'ctrl.'
在访问属性时使用前缀。
查看官方的 ComponentMetadata 文档,我没有看到任何可以用来代替这个的属性。
我开始将我的 Angular 1 指令之一迁移到 Angular 2 组件。
我当前使用的指令具有controllerAs: 'ctrl'
属性,并且指令的模板'ctrl.'
在访问属性时使用前缀。
查看官方的 ComponentMetadata 文档,我没有看到任何可以用来代替这个的属性。
在 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 的默认组件功能中,或者该功能已被删除,因为不再需要它,这取决于您如何看待它。