Angular 指令:范围与 bindToController
Posted
技术标签:
【中文标题】Angular 指令:范围与 bindToController【英文标题】:Angular Directives: scope vs bindToController 【发布时间】:2016-04-30 20:54:38 【问题描述】:从 Angular v1.4 开始,可以这样做:
scope: ,
bindToController:
name: "="
而不是旧的做事方式:
scope:
name: "="
,
bindToController: true
除了更直观,它们之间有什么区别吗?
【问题讨论】:
理论上,您可以将许多参数传递给指令,并且只将其中一些参数绑定到控制器。我想不出任何正当理由这样做,但这是可能的。使用原始语法,要么全有,要么全无。 blog.thoughtram.io/angularjs/2015/01/02/… 查看这篇富有洞察力的文章以获得一些解释 bindToController: Object in directives的可能重复 【参考方案1】:将 bindToController 视为 Angular 未来版本的迁移路径。
我们更喜欢编写具有隔离范围的指令(或组件)并将您想要传递的属性绑定到控制器。
作用域中的绑定变量会逐渐消失。
在 Angular (1.5) 的新版本中,您不需要使用作用域或 bindToController,因为默认作用域是隔离的,并且对于控制器的绑定变量,您可以使用绑定。
这对于防止使用 $scope 也很有用。如果您想了解更多信息,请阅读这篇文章:https://toddmotto.com/no-scope-soup-bind-to-controller-angularjs/
【讨论】:
以上是关于Angular 指令:范围与 bindToController的主要内容,如果未能解决你的问题,请参考以下文章