在两个不同的控制器中分别/隔离具有相同名称的$ scope变量

时间:2016-08-04 07:02:27

标签: angularjs

$scope.test.name'test1' controller都有'test2' controller

背景:

  • 'test2' controller是在'test1' controller页面
  • 上方打开的弹出页面

问题:

  • 'test2' controller中,如果我更改$scope.test.name的值,它也会更改控制器1的$scope.test.name的值,因为'test1' controller'test1' controller都是开放得很清楚

除了给出不同的名称之外,有没有办法隔离或切断两个控制器中$scope.test.name的关系?

2 个答案:

答案 0 :(得分:2)

您可以将控制器用作语法:

<div ng-controller="Test1Ctrl as test1">
  {{ test1.test.name }}
  <div ng-controller="Test2Ctrl as test2">
    {{ test2.test.name }}   
  </div>
</div>

答案 1 :(得分:1)

这是因为父子关系和test2来自test1所以它将反映更改,反之亦然它将无法工作我将建议您使用具有隔离范围的指令。

您可以在此处参考https://thinkster.io/egghead/understanding-isolate-scope