在ng-model被设置为select>之前,Ng-change执行
ng-change executing before ng-model is set for a <select>
我有以下html和js
<select ng-change="setBillGroup()" ng-model="bill.groupId" class="span8" ng-options="d.id as d.name for d in groups"></select>
,对应的js是
$scope.bill=[];
$scope.setBillGroup = function() {
var $groupId = $scope.bill.groupId; .... }
这里是$作用域。组JSON
$scope.groups= [
{id:'1',users:[1,2,3,4],name:'SLC '},
{id:'2',users:[1,2],name:'Denver'},
{id:'3',users:[2,3],name:'Ski Club'},
{id:'4',users:[2,5],name:'Family'},
{id:'5',users:[1,2,3,5],name:'whatever'}
];
每次我从选择表单标签元素中选择一些东西时,我都会得到以下错误。
TypeError: Cannot read property 'groupId' of null
at Object.$scope.setBillGroup
在ng-model设置之前,ng-change函数似乎已经在运行。是否有办法使ng-change函数setBillGroup()等待ng-model在用户选择项目后被设置?我确实检查了$scope的值。{{bill}}值正确设置为{"groupId":"1"}
谢谢。
这是我的一个打字错误。与我在问题$scope中发布的内容相反。Bill被初始化为
美元范围。比尔=零;
抛出错误。当我正确初始化它时,错误消失了美元的范围。比尔= [];
感谢@jaux帮我找到了问题
相关文章:
- 为什么“ng checked”不适用于“ng change”
- 使用 ng-change 对输入类型数据进行 JavaScript 取消事件
- Angularjs slider with ng-change
- 从服务器获取数据,并使用$http服务和ng-change在select事件上显示它
- ng-change不适用于ng选项
- 如何在AngularJS ng-click(或ng-change,..)中调用服务函数
- 何时在 Angularjs 中使用 $watch 或 ng-change
- ng-change在我的指令中不适用于选择
- 在调用 ng-change 之前验证复选框
- 角度新手:尝试使用 ng-change,获取“模块'ngModel'不可用”
- 当 ng-change 事件发生时,函数不会在角度 js 中调用
- ng-change在AngularJS应用程序中不起作用
- AngularJS ng-change not calling function
- 重新编译角度指令以编程方式添加 ng-module 和 ng-change
- $event未在文本输入的 ng-change 中定义
- 使用角度,如何在下拉列表中获取 ng-change 上的选定值
- Angularjs (ng-click, ng-change) 指令不适用于 icheck 插件
- 使用 ng-change Angular 隐藏元素
- 如何在角度 UI 开关中获得 ng-change 事件
- 在ng-model被设置为select>之前,Ng-change执行