我很有趣,angular.js如何檢測模型是否已更改,以及處理此更改的一般角度工作流是什麼。我的意思是,在我更換模塊的一部分後,頁面上發生了什麼。angular.js如何檢測模型已更改
5
A
回答
0
這是我的理解。糾正我,如果我錯了。這是雙向信息共享:)
如果你知道數據綁定實際上是如何工作的,那麼數據綁定並不是魔術。
爲了讓任何變量具有數據綁定功能,必須使用$ watch方法進行註冊。
$scope.$watch('aVarModel', function(newValue, oldValue) {
//update the DOM with newValue
});
只要$ scope。$ digest被調用,所有通過$ watch的綁定數據都會被檢查。請注意,Angular不檢查範圍內的所有值,而只檢查使用$ watch方法註冊的值。如果模型未使用觀察器註冊,則不會被檢查。它比較舊值和新值以檢查是否有變化。如果它改變,它將觸發偵聽器功能(觀察者方法的第二個參數)。
您可能會問,您沒有使用$ watch註冊任何變量或調用$ digest檢查更改,但仍然存在數據綁定。爲什麼?
AngularJS有一堆內置的指令,實際上調用它後面的$摘要方法,並觀察變量使我們的工作更容易。例如:
<div ng-app ng-init="qty=1;cost=2">
<b>Invoice:</b>
<div>
Quantity: <input type="number" min="0" ng-model="qty">
</div>
<div>
Costs: <input type="number" min="0" ng-model="cost">
</div>
<div>
<b>Total:</b> {{qty * cost | currency}}
</div>
</div>
在NG-模型指示內置實際登記數量和成本變數和呼叫$範圍觀察家$消化每次價值的變化沒有我們知道它。您可以創建自定義指令
忘了提及,{{}}中的每個表達式在編譯階段也會自動被監視。所以它會隨着它的值在應用程序中的任何地方改變而改變。
+0
那麼如何角度$摘要調用或更改? – yozawiratama
相關問題
- 1. 如何檢測WCF模型的更改?
- 2. angular.js更新模型
- 3. 檢測新創建的模型是否已更改屬性
- 4. 檢測web.config已更改
- 5. 如何從模型中檢測屬性更改?
- 6. 如何檢測mithril.js中的模型參數更改事件?
- 7. 如何檢測viewmodel模型中屬性的更改?
- 8. 我的XCode UI測試如何檢測到屏幕已更改?
- 9. 模型更新檢測
- 10. Angular2更改檢測「檢查後表達式已更改」
- 11. 如何檢測更改IDbSet
- 12. jQuery - 檢測複選框已更改
- 13. WCF:檢測服務合同已更改
- 14. 檢測幀位置/內容已更改
- 15. 已更改檢測項目 - QtTableWidget
- 16. 如何檢測V - 如果內容已更改
- 17. 在Django調用保存之前檢測模型是否已更改
- 18. 如何僅更新MVC中已更改模型的屬性?
- 19. 如何檢測空白輸入angular.js
- 20. 檢測到對Django模型所做的任何更改
- 21. AngularJS:模型更新檢測和更改事件
- 22. 如何僅檢測Angular 2表單中已更改的字段?
- 23. Xamarin表單 - IOS:如何檢測UIView大小已更改
- 24. 如何檢測NSTableView中的行數已更改?
- 25. 如何檢測我的ObservableCollection中的項目是否已更改
- 26. CakePHP 3如何檢測實體字段是否已更改
- 27. pyqt4已經有一個佈局。如何「檢測」或更改?
- 28. 如何檢測Android屏幕方向已更改
- 29. AspxClientTextBox:如何在客戶端檢測AspxTextBox字段已更改
- 30. 如何檢測單元格值已更改datagridview c#
與[此問題]類似(http://stackoverflow.com/q/12463902/893780)(其中一個答案指向[此解釋](http://docs.angularjs.org/guide/concepts #運行))。 – robertklep