Angular Directives:scope vs bindToController

时间:2016-01-24 15:22:11

标签: javascript angularjs angular-directive

从Angular v1.4开始,可以这样做:

scope: {},
bindToController: {
    name: "="
}

而不是旧的做法:

scope: {
    name: "="
},
bindToController: true

除了更直观之外,它们之间有什么区别吗?

1 个答案:

答案 0 :(得分:8)

将bindToController视为Angular未来版本的迁移路径。

我们更喜欢用隔离范围编写指令(或组件),并将控制器绑定到要传递的属性。

范围内的绑定变量将逐渐消失。

在新版本的angular(1.5)中,您不需要使用scope或bindToController,因为默认情况下范围是隔离的,而对于控制器的绑定变量,您可以使用绑定。

这对于防止$ scope使用也很有用。如果您想了解更多信息,请阅读本文:https://toddmotto.com/no-scope-soup-bind-to-controller-angularjs/