Backbone源码解析(Model)

因为最近使用Backbone,所以对Backbone有了3个月的研究。期间也参考了一些博客,这些博客可以分为两类:1.写一个demo,解释每一句。然后给一对api 2.讲源码,但不够抽象!我觉得源码最好讲骨架,要抽象,太过具体你讲不明白,别人也看不懂!

Model是什么

Model就是一个构造函数

  var Model = function(attributes, options) {
    this.cid = _.uniqueId(this.cidPrefix);
    this.attributes = {};
    this.set(attrs, options);
    this.changed = {};
    this.initialize.apply(this, arguments);
  };
 

这个是我简化的源码,是抽象的,最重要的内容,看懂核心,再看真的源码就简单了!
这丫的就是我们创建Object的构造函数,有属性:cid,attributes,changed(3个属性)

这个是Model对象的截图

这个实例化对象就有3个属性,那他应该还有方法吧!
方法在Model.property中,见源码

_.extend(Model.prototype, Events,{
    set:function(key,value,attr)..
    get:function(attr)...
    ....
});

现在有了构造函数Model,Model.property,就完了。

你可能感兴趣的:(backbone,javascript)