Angularjs 什么是';controllerAs';指令';角2分量的s性质?
我开始将Angular 1指令之一迁移到Angular 2组件 我当前使用的指令具有Angularjs 什么是';controllerAs';指令';角2分量的s性质?,angularjs,angular,angular2-directives,Angularjs,Angular,Angular2 Directives,我开始将Angular 1指令之一迁移到Angular 2组件 我当前使用的指令具有controllerAs:'ctrl'属性,指令的模板在访问属性时使用'ctrl.前缀 查看,我没有看到任何可以替代此属性的属性 在Angular 2中没有与controllerAs等价的东西。例如,给定此控制器类和模板: @Component({ selector: 'component-a', template: `<div class="component-a">
controllerAs:'ctrl'
属性,指令的模板在访问属性时使用'ctrl.
前缀
查看,我没有看到任何可以替代此属性的属性 在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;
}
}
@组件({
选择器:'component-a',
模板:`
组件A:{{counter}}
`
})
导出类组件A{
计数器=0;
增量(){
这个计数器+=1;
}
}
在方法increment()
中,此
绑定到该特定组件本身的控制器实例。在模板中,可以通过{{counter}}
访问计数器
正如我们所见,没有命名控制器的机制,因为我们已经可以使用默认功能访问它
您可以认为
controllerAs
机制已集成到Angular 2的默认组件功能中,或者该功能已被删除,不再需要,具体取决于您如何看待它。组件的每个类
都将在此
中包含其上下文,因此,您不需要在这里的Angular2
中创建控制器别名,您可以直接访问HTML上的this
上下文。。