【发布时间】:2017-07-11 15:47:40
【问题描述】:
我有一个使用以下代码创建的矩阵:
<div class="cell-container" ng-repeat="cell in field">
<div ng-repeat="cols in cell track by $index" class="cell" ng-click="selectShip(cols)" ng-class="{ selected: !cols.empty }">
{{ $parent.$index }} {{ $index }}
</div>
</div>
在指令中我有一个函数,当点击时应该改变对象值并向点击的元素添加一个类
scope: {
field: '=',
type: '@'
},
link: function($scope) {
$scope.selectShip = function(item) {
if ( item.empty === true ) {
item.empty = false;
} else {
item.empty = true;
}
}
}
问题是当我点击内部 ng-repeat 中的一个 div 时,它会更改对象值并在所有 div 上添加一个类,而不仅仅是被点击的那个。
我做错了什么?
【问题讨论】:
-
您在 HTML 或页面中的何处使用指令?
-
我不明白这个问题
-
您显示的这个模板是指令的模板还是您页面的模板(部分视图或路由)?
-
它是一个指令模板。
标签: javascript angularjs