【问题标题】:What is the analog of the 'controllerAs' directive's property in Angular 2 component?Angular 2 组件中的“controllerAs”指令属性的模拟是什么?
【发布时间】:2016-04-27 23:26:30
【问题描述】:

我开始将我的 Angular 1 指令之一迁移到 Angular 2 组件。

我当前使用的指令具有controllerAs: 'ctrl' 属性,并且该指令的模板在访问属性时使用'ctrl.' 前缀。

看着official ComponentMetadata doc,我没有看到任何可以用来代替这个的属性。

【问题讨论】:

  • 每个组件的Class 都将在this 中具有它们的上下文,因此您无需在Angular2 中创建控制器别名,您将直接访问HTML 上的this 上下文..

标签: angularjs angular angular2-directives


【解决方案1】:

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 的默认组件功能中,或者该功能已被删除,因为不再需要它,这取决于您如何看待它。

【讨论】:

    猜你喜欢
    • 2016-07-27
    • 2023-04-06
    • 2015-10-28
    • 1970-01-01
    • 2016-02-27
    • 2017-07-04
    • 2017-09-08
    • 2017-03-15
    相关资源
    最近更新 更多