Backbone笔记

  • listenTo的callback会接受到一个参数,就是other的当前对象。
object.listenTo(other, event, callback)
  • Model的状态属性都在model.attributes对象中,通过defaults可以来赋初值定义。之后通过get和set获得
var M = Backbone.Model.extend({</p> 
    defaults:function(){
    
    return {key: value };
    
    })
    
    new M.get('key');
    
    new M.set('key', 'hello world')

 

  • 数组的构造函数,默认接受参数(models, options),就是说,初值必须是models这个值。
  • model默认都会有id,如果你的后台不是id,可以通过指定model.idAttribute = ‘_id’来修改,于是Bakbone就会把id的值设为_id这个属性的值。
  • 数组的add方法会进行去重,粗略的说,包含有相同id的model对象都不会添加进去,实际代码用get方法判断,get如下:
return this._byId[obj.id || obj.cid || obj[this._idAttr] || obj];

也就是说,如果定义model的时候,把 id的初值设置为null,由于cid是自动产生的client id,不会重复,因此,Collection.add会把这个新的对象加入到数组中。这里,cid的产生方法是_.uniqueId(‘c’),就是说产生一个c打头的唯一id,目测不会与后台的id编号冲突。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>