2

我想自动将更改同步到服务器。目前,我scope.$onEval通过 JSON 序列化应用程序状态并使用 diff-match-patch 将其与先前序列化的副本进行比较来检测处理程序中的更改。

我想知道 AngularJS 是否内置了任何东西来提高效率。

4

2 回答 2

1

您可以使用多个$watch而不是单个$onEval(请注意, $watch 可以将函数作为参数而不是字符串/表达式,并且在版本 >=0.10.0 中,使用angular.Object.equals比较监视的值)。除此之外,我不知道任何对此有用的 AngularJS 机制。

于 2011-10-10T10:49:35.907 回答
1

我正在做类似的事情。就像@psyho 建议的那样,我正在使用$watch来捕捉变化。

scope.$watch("dataObject",function (newValue, oldValue) {
    //calculate changes
    //send the changes to the server
});

然后我使用jquery diff中的逻辑来计算所做的更改。

于 2011-10-19T09:40:38.957 回答