我很有趣,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