backbone学习笔记:模型(Model)(1)基础知识

   backbone为复杂Javascript应用程序提供MVC(Model View Controller)框架,框架里最基本的是Model(模型),它用来处理数据,对数据进行验证,完成后台数据与前台数据的交互(从前台提交到后台的数据,从后台获取数据传递到前台,都由Model负责)。框架

   backbone有基本的Model对象Bacxbone.Model,能够经过extend进行扩展,每一个模型都有一个惟一的标识符属性id,区分不一样的模型,dom

下面建立一个扩展的模型     
this

var RoomModel = new Backbone.Model.extend({ });

 设置模型id  spa

var room =new RoomModel();

   room.id = Math.random().toString(36).substr(2)

 

 默认状况下,属性名是id,也能够在建立模型时经过设置idAttribute来改变 code

var RoomModel = new Backbone.Model.extend({
    idAttribute:"_id"
 });

  注:id属性若是没有初始化,能够使用模型对象的cid属性,cid属性的值在模型对象的实例建立时自动赋值,而且是惟一的对象

   如今咱们为上面建立的模型添加属性,而且为属性添加默认属性值blog

   添加默认属性值的方法有2种:ip

     1.利用defaults属性设置     backbone

var RoomModel = new Backbone.Model.extend({
defaults:{ name:
'', createdAt:new Date(), capacity:10 } });

 

     2.利用initialize(),初始化的时候设置    ci

var RoomModel = new Backbone.Model.extend({ defaults:{ name:'', createdAt:new Date(), capacity:10 }, initialize:function(){
//先检查updatedAt是否是存在
if(!this.has('updatedAt'){ var updatedAt= new Date(); } } });

 

    模型属性的操做:set(),get(),unset(),clear(),has()

      模型里的属性不能用‘.’操做符访问

      var  room = new RoomModel();

       1. set():为Model建立/更新属性,属性不存在就会建立一个

       room.set({name:'会议室',user:'daner‘});

       2. get()获取属性值,若是属性不存在返回undefined

 

       room.get(’user') ; //返回'daner‘

       3. unset()从model中删除一个属性

        room.unset(’user'); //删除user属性

        4. clear();//删除model中的全部属性

         room.clear()

        5. has();//判断model中是否有某个属性

         room.has('name');//有name属性返回true,不然返回false

相关文章
相关标签/搜索