zoukankan      html  css  js  c++  java
  • 7.7 Models -- Working with Records

    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(); //=> {}
  • 相关阅读:
    java-connect-mysql
    搜索框提示列表问题
    方法中的函数会掩盖this,解决办法!
    关于W3C盒子布局
    将类数组转化成数组
    js获取元素宽高
    使用gulp添加版本号
    flex布局
    排序-冒泡排序
    js事件、自定义dom事件、自定义事件
  • 原文地址:https://www.cnblogs.com/sunshineground/p/5165970.html
Copyright © 2011-2022 走看看