将Angular Material Design复选框绑定到控制器中的数组

23 浏览
0 Comments

将Angular Material Design复选框绑定到控制器中的数组

我有一组Material Design复选框,并且我想将它们的值绑定到我的控制器中的一个数组。

为了实现这一点,我使用了这个SO答案中描述的第一种方法。虽然值被正确地添加和从列表中删除,但当我点击它们时,复选框不再显示为“已选中”。我的代码如下,我还在这个CodePen中重现了这个问题。

我的复选框的HTML

 
    {{site}}

控制器中的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);
    }
  };
});

admin 更改状态以发布 2023年5月20日
0
0 Comments

尝试更改这个:

ng-checked="selection.indexOf(site) > -1" 

到这个:

ng-checked="{{selection.indexOf(site) > -1}}" 

对我来说起作用了:http://codepen.io/anon/pen/xbNOmE

0