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

相關文章
相關標籤/搜索