关于angular+chosen动态添加值以后trigger:update不更新值的问题

我们都知道,chosen更新值的代码是这个

$(xxx).trigger("chosen:updated");//新版

$(xxx).trigger("liszt:updated");//旧版

通常来说,如果用的是jq,那么在append以后,直接跟上上面的代码以后,chosen的值就会同步更新了。

但是!但是!但是!如果用的是angular,那么分为两种情况:

1、在当前angular的上下文中动态添加或修改了值,一般是用ng-repeat,此时在后面加上上面的代码即可。

2、不在当前angular的上下文中动态添加或修改了值,那么直接在后面加上上面的代码,是无效的!!!,因为chosen的值是根据select标签的值来更新的,而select标签的值是受angular的ng-repeat影响的,如果没有把值在angular中更新的话,只在chosen中更新值是没有任何作用的。因此,我们在非angular的上下文中修改了值以后,需要加上下面的代码把值在angular中更新一下:

 $scope.$apply();

 

 

posted @ 2017-05-18 14:22  发闪电  阅读(3043)  评论(0编辑  收藏  举报