我有我的选择,就像这样
<select ng-model="id_select" ng-options="fide.id as fide.name for fide in fides" ng-change="loadInfo()">
<option value="" selected disabled>Seleccionar</option>
</select>
在我的控制器中我有这个
RestService.getFides().then(function(fides){
$scope.id_select = fides;
if(typeof $rootScope.selected_id !== 'undefined')
{
$scope.id_select = $rootScope.selected_id
}
});
$scope.loadInfo = function() {
alert("triggered!!");
}
我的选择正在按 fides 的预期加载,但是当我尝试使用 $rootScope 的值 ng-change 函数 loadInfo() 设置我的选择值时,不会触发,但当我在视图中选择时,它工作正常。
我做错了什么有什么想法吗?
预先感谢大家的帮助:)
来自的文档ngChange https://docs.angularjs.org/api/ng/directive/ngChange:
评估给定的表达式当用户更改输入时。该表达式会立即计算,这与 JavaScript onchange 事件不同,后者仅在更改结束时触发(通常是在用户离开表单元素或按回车键时)。当值更改来自模型时,不计算表达式.
如果您要以编程方式更改模型,则需要手动调用事件处理程序:
if (typeof $rootScope.selected_id !== 'undefined') {
$scope.id_select = $rootScope.selected_id;
$scope.loadInfo();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)