關於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();

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM