首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >(暂时)当对象发生变化时,防止角度更新?

(暂时)当对象发生变化时,防止角度更新?
EN

Stack Overflow用户
提问于 2015-03-14 04:12:24
回答 1查看 817关注 0票数 0

我有一个对象,我要发送到一个web服务器中存储在数据库中。在发送它和操作完成之间,我需要稍微修改它,这样服务器就可以处理它了。

实际上,我有以下代码:

代码语言:javascript
运行
复制
$scope.o = {...};

$scope.send = function()
{
  $scope.sanitize($scope.o);
  SomeService.Save($scope.o).then( function() {
    $scope.unsanitize($scope.o);
  });
}

Sanitize只是让对象准备好发送服务器,而unsanitize将其放入视图可以更容易处理的表单中。

我遇到的问题是,在调用消毒和非消毒之间,会有几毫秒的延迟(或秒,取决于当时网络的速度)。在此期间,视图将被更新,并显示净化所做的更改。不过,我不希望在服务器执行其任务时向用户显示这些更改。

是否有一种暂时防止角度更新到特定对象的方法?

我在这里创建了一个用来说明问题的“小提琴”:http://jsfiddle.net/29ze4exp/5/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-14 04:15:15

好的!只是不要修改绑定到视图的对象。相反,请使用副本。

代码语言:javascript
运行
复制
var copy = angular.copy($scope.o);
$scope.sanitize(copy);
SomeService.Save(copy).then(function() {
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29045366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档