Javascript 将复选框绑定到角度模型阵列
我想直接以角度将复选框列表绑定到数组,这样当选中复选框时,它的值会被推送到数组上,而当未选中时,它会弹出,这样模型上的数组总是表示我想要的最终状态。以前,我是通过将复选框映射到数组索引来实现的,后来剥离出Javascript 将复选框绑定到角度模型阵列,javascript,arrays,angularjs,checkbox,Javascript,Arrays,Angularjs,Checkbox,我想直接以角度将复选框列表绑定到数组,这样当选中复选框时,它的值会被推送到数组上,而当未选中时,它会弹出,这样模型上的数组总是表示我想要的最终状态。以前,我是通过将复选框映射到数组索引来实现的,后来剥离出null值,但我想尝试另一种方法 我希望停止直接绑定到模型,但只需在更新复选框时运行一个函数,该函数处理将数据放入数组的操作 这种方法有什么问题吗 从控制器更新模型时,是否有任何必须注意的注意事项 HTML(角度) 演示: 我希望停止直接绑定到模型,但只需在更新复选框时运行一个函数,该函数处理将
null
值,但我想尝试另一种方法
我希望停止直接绑定到模型,但只需在更新复选框时运行一个函数,该函数处理将数据放入数组的操作
$scope.toggleSelect = function toggleSelect(code)
{
/**/
AsyncService.doStuff();
}
这种方法有什么问题吗
没什么错,但这个aproach(在您的例子中)类似于javascript native。所以我们失去了角度优势。
我将使用模型绑定并在$scope.options
(甚至$watchCollection
)上实现$watch
)。比如:
$scope.$watch(function () {
return $scope.options; // listen on model watch
},
function (newValue, oldValue) {
/* any checkbox clicked */
}, true);
从控制器更新模型时,是否有任何必须注意的注意事项
别这么想,很简单的流程
$scope.toggleSelect = function toggleSelect(code)
{
/**/
AsyncService.doStuff();
}
$scope.$watch(function () {
return $scope.options; // listen on model watch
},
function (newValue, oldValue) {
/* any checkbox clicked */
}, true);