首页 > 其他 > 详细

7.7 Models -- Working with Records

时间:2016-02-01 18:03:01      阅读:79      评论:0      收藏:0      [点我收藏+]

Modifying Attributes

1. 一旦一条record被加载,你可以开始改变它的属性。在Ember.js对象中属性的行为就像正常的属性。作出改变就像设置你想要改变的属性一样简单:

var tyrion = this.store.findRecord(‘person‘, 1);
// ...after the record has loaded
tyrion.set(‘firstName‘, "Yollo");

2. 对于修改属性来说,所有的Ember.js的方便性都是可用的。例如,你可以使用Ember.ObjectincrementProperty辅助器:

person.incrementProperty(‘age‘); // Happy birthday!

3. 通过检查它的isDirty属性,你可以告诉一条发生显著改变的record是否被保存了。通过使用changedAttributes函数,你也可以发现record的哪一部分发生了变化并且原始值是什么。changedAttributes返回一个对象,它的keys是发生变化的属性并且值是一个values数组[oldValue, newValue]

person.get(‘isAdmin‘);      //=> false
person.get(‘isDirty‘);      //=> false
person.set(‘isAdmin‘, true);
person.get(‘isDirty‘);      //=> true
person.changedAttributes(); //=> { isAdmin: [false, true] }

4. 在这一点上,你可以通过save()持久化你的变化或者你可以回滚你的改变。调用rollback()还原所有changedAttributes到原始值。

person.get(‘isDirty‘);      //=> true
person.changedAttributes(); //=> { isAdmin: [false, true] }

person.rollback();

person.get(‘isDirty‘);      //=> false
person.get(‘isAdmin‘);      //=> false
person.changedAttributes(); //=> {}

7.7 Models -- Working with Records

原文:http://www.cnblogs.com/sunshineground/p/5165970.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!