我在ng-change中有一个函数,每次复选框都会执行(手动)。
现在我希望在加载时预先检查复选框,并且ng-change中的函数也可以执行(在加载时)。
我可以采取哪些方法来实现这一目标?
答案 0 :(得分:0)
您不需要这样做,您的模型会自动执行此操作,比如说
$ scope.customer = customer;
<input type='checkbox' ng-model='customer.active' /> Is Active
会自动照顾
答案 1 :(得分:0)
如果你想拥有一个在加载时和onChange事件期间触发的功能,你可以使用指令 ng-init
创建连接到您的范围的onLoad和onChange函数:
$scope.onLoad = function(params) {
// do some init functionality and call onChange functionality
onChange();
}
$scope.onChange = function(value) {
// do function when a combobox is chaned
}
在HTML模板中,您必须绑定这些方法
<div ng-init="onLoad()">
<input type='checkbox' ng-model='someModel' ng-change="('1')"/> Is one
<input type='checkbox' ng-model='someModel' ng-change="('2')"/> Is two
<input type='checkbox' ng-model='someModel' ng-change="('3')"/> Is three
</div>
答案 2 :(得分:0)
ng-change
将不会执行,除非用户已按照角度文档here中的说明更改了输入。问题是你可以手动触发ng-change,但通常没有建议,它被认为是dirty way and terrible practice。添加观察程序并检测对模型所做的任何更改将更加合适。
$scope.$watch("myModel", function(newValue, oldValue){
// do something
});