Angular 2组件中'controllerAs'指令属性的模拟是什么?
问题描述:
我开始将我的一个Angular 1指令迁移到Angular 2组件。Angular 2组件中'controllerAs'指令属性的模拟是什么?
我目前使用的指令具有controllerAs: 'ctrl'
属性,并且指令的模板在访问属性时使用'ctrl.'
前缀。
看着official ComponentMetadata doc我没有看到任何可以用来代替这个的属性。
答
没有相当于controllerAs
在角2。例如,给定的这个控制器类和模板:
@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的默认组件功能中,或者该功能已被删除,因为它不再需要,这取决于您如何看待它。
组件的每个''''将在'this'内有它们的上下文,所以你不需要在'Angular2'这里创建控制器别名,你将直接访问HTML上的'this'上下文。 –