Angular Directives:scope vs bindToController

Ahm*_*tin 11 javascript angularjs angular-directive

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

scope: {},
bindToController: {
    name: "="
}
Run Code Online (Sandbox Code Playgroud)

而不是旧的做法:

scope: {
    name: "="
},
bindToController: true
Run Code Online (Sandbox Code Playgroud)

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

小智 8

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

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

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

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

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