ng-change 在select下第一次触发失效
因为需要动态注入select options的数据,同时保证注入完数据后,复填选择的数据
同时还对select添加了ng-change事件
结果发现,ng-change默认第一条数据无论怎么点击就是无效
有效状态是,除非点击其他的选项,再去点击第一条options,第一条数据才有效
经过排查,发现
1.这里的select是在弹窗中的
2.弹窗打开的时候先返回复填信息,然后再调用select注入信息的函数
3.注入信息后,才复填选择的数据
测试
在ng-change函数中,第一条数据无论怎么点击选择,就是不会console.log出所选择数据
复查,因为 ng-change 和 ng-model是组合使用,但是发现ng-model的数据页面竟然绑上了
修改
因为selcet注入信息的函数是在第三步的时候触发
突发奇想,觉得,进入页面就加载数据好了,干嘛非要在弹窗弹开的时候加载数据(我以前都是页面级加载数据)
然后就把函数提出来了
0.0 好了
后记
猜测可能是,异步加载的问题,造成,在获取信息,然后再载入select的数据,然后再填充的时候,因为请求时间关系,造成,ng-model的数据虽然传进去了,但是select的数据还没加载完
虽然看着,绑定数据是对的,但是 没有按照 调用函数的先后顺序来执行