angular/ng-change of select

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的数据还没加载完
虽然看着,绑定数据是对的,但是 没有按照 调用函数的先后顺序来执行