我有个纳克重复按钮看起来像这样:
<div data-ng-repeat="department in departments_array">
<div class="row">
<div class="col-md-6 dslc-button-wrapper">
<button class="btn btn-default btn-block">Show on Map {{ 1 | checkmark }}</button>
</div>
</div>
</div>我找到了这个筛选器,当单击所选的元素时,我希望使用它来显示复选框,并同时从其他ng-重复按钮中删除所有其他复选标记:
angular.module('Filters', []).filter('checkmark', function() {
return function(input) {
return input ? '\u2713' : '';
};
});我已经尝试了很多种方法,但最终我只能在一次添加或删除一个元素上的复选标记。
任何帮助都将不胜感激。
谢谢
发布于 2016-03-29 04:30:49
就我个人而言,我不会用过滤器来做这个。在你看来,这不是管理状态的正确方式。控制器上的变量是典型的、可读的解决方案。下面使用柱塞的解决方案
controller.js
myApp.controller('myController', function() {
var self = this;
self.departments_array = ['dept A', 'dept B', 'dept C'];
self.selected_dept = undefined;
});index.html
<body ng-app="my-app">
<div ng-controller="myController as mc">
<div data-ng-repeat="department in mc.departments_array">
<div class="row">
<div class="col-md-6 dslc-button-wrapper">
<button ng-click="mc.selected=department" class="btn btn-default btn-block">
Show on Map <span ng-show="mc.selected===department">✓</span></button>
</div>
</div>
</div>
</div>
</body>https://stackoverflow.com/questions/36275252
复制相似问题