将角度材质设计复选框绑定到控制器中的数组
Binding Angular Material Design Checkboxes to an Array in Controller
我有一组材料设计复选框,我想将它们的值绑定到控制器中的数组。
为了实现这一点,我使用了SO答案中描述的第一种方法。当这些值被正确地添加到列表中或从列表中删除时,当我单击它们时,这些框将不再显示为"已选中"。我的代码在下面,我也在这个代码笔中重新创建了这个问题。
我的复选框的HTML
<md-checkbox
ng-repeat="site in websites"
value="{{site}}"
ng-checked="selection.indexOf(site) > -1"
ng-click="toggleSelection(site)">
{{site}}
</md-checkbox>
来自控制器的JavaScript
$scope.websites = ['Facebook', 'Twitter', 'Amazon'];
$scope.selection = ['Facebook'];
$scope.toggleSelection = function toggleSelection(site) {
var idx = $scope.selection.indexOf(site);
// is currently selected
if (idx > -1) {
$scope.selection.splice(idx, 1);
}
// is newly selected
else {
$scope.selection.push(site);
}
};
});
尝试更改此项:
ng-checked="selection.indexOf(site) > -1"
到此:
ng-checked="{{selection.indexOf(site) > -1}}"
为我工作:http://codepen.io/anon/pen/xbNOmE
相关文章:
- ng绑定和ng href问题.ng href未从控制器加载数据
- 将指令绑定到控制器属性
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- 将角度材质设计复选框绑定到控制器中的数组
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
- 同一页面上两个不同控制器的Angularjs双向绑定字段
- 角度控制器不绑定服务对象属性 ng-repeat
- 在 AngularJS 中将数据从视图绑定到控制器
- 工厂和控制器之间的“绑定”
- 无法绑定到没有指令 + angularjs 标识符的控制器
- AngularJS路由未绑定控制器
- 如何将值与$scope绑定,以从定义状态ui路由器的控制器中使用ng模型进行查看
- 角度指令单向绑定控制器中的变化值
- Angular 1.5:访问控制器内部的绑定控制器属性
- 角度指令:范围与绑定控制器
- AngularJS中包含HTML的绑定控制器属性
- 通过ng-controller动态绑定控制器
- AngularJS一次性绑定控制器变量