共享范围变量并未跨指令更新



我对指令有一个奇怪的问题,我正在尝试创建plunkr,但是在将其发布到此之前,看看我是否得到任何响应。

我在控制器中具有以下变量:

$scope.sharedVar = [];
$scope.loopIs = ["var1", "var2", "var3"];

现在,我将此变量传递给NG-Repeat:

<div class="" ng-repeat="val in loopIs">
  <my-directive val="val" sharedVar="sharedVar"></my-directive>
</div>

这是我的指示:

app.directive(myDirective){
 return {
  restrict: 'E',
  scope: {
    val: '=val',
    sharedVar: '=sharedVar'
   },
   templateUrl: 'template.html',
   link: function(scope){
      //...........My logic here
   }
  }
}

sharedVar跨指令共享,因此,如果任何指令都会更改它。

可以在这里帮助我。我在ng重复中的指令做错了吗?

===================

我添加了plunkr ..请看一下。

https://plnkr.co/edit/lhe3uwjjzqngk2jd8biv?p=preview

使用 $parent作为 ng-repeat 创建单独的范围本身

 <my-directive val="val" shared-var="$parent.sharedVar"></my-directive>

工作演示

最新更新