我有一个奇怪的指令问题,我正在尝试创建plunkr,但在此之前将其发布到SO,看看我是否得到任何回复。
我在控制器中有一个跟随变量:
$scope.sharedVar = [];
$scope.loopIs = ["var1", "var2", "var3"];
现在我通过ng-repeat将这个变量传递给direective:
<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-repeat中的指令做错了吗?
======更新======
我添加了plunkr ..请看一下。
答案 0 :(得分:1)
使用$parent
作为 ng-repeat 创建单独的范围
<my-directive val="val" shared-var="$parent.sharedVar"></my-directive>