A23*_*A23 3 javascript angularjs
我有一个生成Box div的指令.
<box index=0></box>
<box index=1></box>
Run Code Online (Sandbox Code Playgroud)
app.controller('BoxController', ['$scope', function ($scope) {
$scope.boxIndex = false;
}]);
app.directive('box', function () {
return {
restrict: 'E',
templateUrl: '/partials/_box.html',
link: function (scope, element, attrs) {
scope.boxIndex = attrs.index;
}
}
});
Run Code Online (Sandbox Code Playgroud)
<div class="box{{boxIndex}}"></div>
Run Code Online (Sandbox Code Playgroud)
我得到了输出
<div class="box1"></div>
<div class="box1"></div>
Run Code Online (Sandbox Code Playgroud)
代替
<div class="box0"></div>
<div class="box1"></div>
Run Code Online (Sandbox Code Playgroud)
我还应该做些什么来使两个实例分开吗?
您的指令都共享父控制器的作用域,因此访问相同的值.由于您使用的是插值,它们都会更新为最后一个设定值.
使用scope: true或scope: {}代替:
app.directive('box', function () {
return {
restrict: 'E',
scope: {}, // or scope: true
templateUrl: '/partials/_box.html',
link: function (scope, element, attrs) {
scope.boxIndex = attrs.index;
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |