为什么Restangular对象值与.plain()值不同?

时间:2016-05-11 14:51:17

标签: angularjs restangular

我有一个Restangular对象。如果我从此对象更新值,然后保存或打印plain()结果,则值不同。 .value是正确的,而.plain()。value返回值是旧标题。 奇怪的是,我的视图显示了正确的更新值。

// Set my title value. Old value is 'Old original title'
myRestangularObject.title = 'New title';

// Get my title value, correct I get the new value.
myRestangularObject.title => 'New title'

// Get my plain title value, incorrect. Still the old value
myRestangularObject.plain().title => 'Old original title'

有什么想法吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

好的,我明白了。我使用了在stateParams上使用angular.copy的angular-ui / ui-router的新beta版。

问题是Restangular不适用于angular.copy(source):

  

在修改对象之前,我们有时会想要复制它   修改复制的对象。我们不能使用angular.copy,因为   它不会改变我们添加到的函数中的绑定   宾语。在这种情况下,您必须使用Restangular.copy(fromElement)。