如前面的答案中所述,AngularJS指令的默认行为是共享它们所包含的范围。此行为通过
scope指令定义对象中的参数进行更改。
您可以在AngularJS文档的此部分中查看scope参数的文档:http :
//docs.angularjs.org/api/ng.$compile#description_comprehensive-directive-
api_directive-definition-
object
此参数具有三个选项:
scope: false
-共享指令包含的范围的默认行为scope: true
-为指令创建一个新的作用域,其作用类似于其他子作用域,并从其父作用域原型继承- 参见示例1
scope: {}
-创建一个不从其父范围继承原型的隔离范围参见示例2
从JSBin示例中可以看到,选项2和3都适用于您的示例。区别在于您是否要隔离新作用域。
AngularJS指南的指令部分中有一个很好的章节,说明了为什么隔离范围可以帮助使用指令创建更好的可重用模块:
AngularJS指南:隔离指令的范围
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)