我在页面上呈现了多个复选框,如果我的复选框已在加载时被选中,我想触发ng-change()
。
<input type="checkbox" ng-true-value="true"
ng-false-value="false"
ng-change="CustomCheckSelect(someValue)" ng-model="model.defaultCheckBox"/>
使用
ng-init
会导致我出现问题,并在控制台中引发错误,因为其中一些未检查。 最佳答案
从有关ngChange的文档中:
即使您触发ng-change
,也可以使用ng-model-options
来说:
ng-model-options="{updateOn: 'onload default'}"
它不会得到评估,因为您没有更改任何值。
如果您不喜欢ngInit
解决方案,则可以尝试在 Controller 中手动调用该函数。
因此,您只有一个$scope.model
,其中一些属性是由checkboxes
处理的,比如defaultCheckbox
和secondaryCheckbox
。
为避免重复,我将这些值存储在数组中,然后按条件进行迭代并调用函数CustomCheckSelect
:
var checkboxes = ['defaultCheckbox', 'secondaryCheckbox'];
angular.forEach(checkboxes, function(val){
if ($scope.model[val]) {
$scope.CustomCheckSelect(val);
}
})
plunker
关于javascript - 触发ng负载变化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35153607/