Angular 指令:作用域与 bindToController

Angular Directives: scope vs bindToController

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

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

代替旧方法:

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

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

考虑将 bindToController 作为 Angular 未来版本的迁移路径。

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

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

在 angular (1.5) 的新版本中,您不需要使用作用域或 bindToController,因为作用域默认是独立的,对于将变量绑定到控制器,您可以使用绑定。

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