Backbone基礎

  1. 模型:包含應用程序裏的數據以及與數據相關的邏輯。
    1. 通過擴展Backbone.Model創建該模型
    2. 創建一個新模型實例時,initialize()方法會被調用(該方法可選)
    3. Model.get():用於訪問模型的屬性
      1. toJSON():讀取或者複製一個模型的所有數據屬性,
        1) 該方法將所有屬性的副本作爲一個對象進行返回。
        2) 當給JSON.stringify()傳遞一個帶有toJSON()方法的對象時,JSON.stringify()處理的時該對象執行toJSON()以後的返回值,而不是原始對象
    4. Model.set():在模型上設置一個包含一個或多個屬性的Hash散列,當其中的任意屬性更改模型的狀態時,就會在上面觸發change事件。每個屬性的change事件也可以在模型上進行觸發和綁定
    5. 直接訪問:
      1. 模型暴露了一個.attributes屬性,描述了包含該模型狀態的一個hash散列。通常和服務器返回數據的JSON對象的形式一樣。
      2. 如果通過模型上的.attributes屬性設置值,可以繞過該模型上綁定的觸發器。修改成{silent:true}並不會觸發change:attr事件
      3. 監聽模型變化:通過監聽該模型上的change事件實現監聽,initialize()方便添加監聽器
      4. model.validate():模型驗證,允許在設置屬性值之前對屬性值進行檢查。
        1) 默認情況下,通過調用save()方法或帶有{validate:true}參數的set()方法持久化模型時,驗證就會觸發
        2) 如果提供的屬性都是有效的,.validate()不會返回任何值;相反,如果參數時無效的,就會返回一個錯誤值,如果有錯誤值返回,則:
        1. model會觸發invalid事件,同時會將.validate()的返回值賦值給validationError屬性
        2. save()不會繼續執行,同時model上的屬性不會在服務器上修改
發佈了44 篇原創文章 · 獲贊 28 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章