angular.js - angularjs雙向綁定
世界只因有你
世界只因有你 2017-05-15 16:55:24
0
2
494

input有個ng-model綁定,手動輸入能改變這個值,我用jquery改變了一個input的值$('#dd').val('str');
然後scopemodel不變
求救

世界只因有你
世界只因有你

全部回覆(2)
漂亮男人

如果使用angular way 修改更新DOM或變數的值的話, 不需要進行額外操作.

但是如果脫離了angular, 使用類似於jquery這樣, 不在angular的體系內的代碼的話, 你進行了修改需要通知angular, 讓angular獲取最新的值, 以反映到頁面中.

所以你可以使用下面的方法, 通知angular

$scope.$apply(function(){
    jQuery('input').val(newValue);
})
刘奇

正確的方法是…不要手動去改view。
提議:
1、試著把model露出出來,然後去修改model吧,改完之後呼叫$scope.$apply()。另外,為了避免各種不可預期的錯誤,你可以這樣寫setTimeout(function(){$scope.$apply()},0)。
2、無論如何,你有這種需求,一定是因為發生了什麼事件,使用者操作或是ajax之類的。 ajax操作可以用Angular提供的$http服務,用戶操作呢,則通常都可以封裝到directive裡面。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板