angularjs 中的更改感知列表

Changes-aware list in angularjs

本文关键字:感知 列表 angularjs      更新时间:2023-09-26

我正在对现有的angularjs代码做一些工作,我有一些类似的东西:我在客户端有一个对象列表,我通过put请求将其传输到服务器端。

现有代码只是获取$scope中的对象列表,并将其按原样放入 json 中。

我想实现一种机制,其中仅发送自某些事件以来已更改的对象。

我可以硬编码地执行此操作并保存另一个对象列表并在提交更改时清除它,但我想要更干净的东西 - 例如,更改感知列表,

然后,我可以做一些list.changedObjects的事情。

我似乎无法从基础研究中找到类似的东西,所以我希望你们能对此有所了解。

我觉得这是Observer pattern的一个用例。 https://github.com/melanke/Watch.JS 有一个库/示例来观察javascript对象的变化。然后,您可以在Angular中触发事件以相应地完成您的工作http://jsfiddle.net/2zT4C/23/


$watch有助于倾听$scope变化


然后,AngularJS可以根据watch函数上次返回的值检查返回的值。这样AngularJS就可以确定值是否发生了变化。

$scope.$watch('list', $scope.sendNewList, true);
如果

对象的新值不等于对象的旧值,即如果它已被更改,它将更新 innerHtml。

有关详细信息,请查看此内容 - $watch() 或$watch

AngularJS监视对象数组以进行数据更改