是否有可能阻止子div继承其父div的控制器?

时间:2014-01-08 13:32:04

标签: angularjs

我想知道是否有可能阻止嵌套div中的子div继承其父控制器。

<div id="parentDiv" ng-controller="parentCtrl">  
   <div id="childDiv" ng-controller="childCtrl"> 
   </div>
</div>

想象一下,我有一个名为name的范围变量,我怎样才能确保在childDiv方无法访问该名称。

请参阅plunk

让子div访问其父控制器的变量没有问题,但它感觉不对。那么命名冲突怎么样?

1 个答案:

答案 0 :(得分:1)

我不相信有一种方法可以隐藏来自父作用域的子作用域的变量。父级的范围始终可用于子级的范围。我确实有两点可能会有所帮助。

1)命名冲突可能不是您所期望的问题。如果将childCtrl中的$ scope.name设置为“testChild”,则name变量的值parentCtrl仍为“testParent”。子$ scope可以访问父级,但不会覆盖/共享变量,只能覆盖对象。

2)如果您担心命名冲突或混淆,我建议在对象上放置一个对象并向该对象添加属性。示例:$ scope.parentData = {name =“testParent”}和$ scope.childData = {name =“testChild”}