2015.08.11
【JavaScript】
【Handlebar】
【Backbones】
【JavaScript】http://javascriptissexy.com/javascript-objects-in-detail/
Prototype:String、number、boolean、undefine、Array、Object、function
All JavaScript objects inherit the properties and methods from their prototype.
所有的JS function 都具有prototype
 
Literal
 
     
四種呼叫方式
        Constructor
        Apply
        Method
        Function
 
Bubbling(由內而外)
 
是一個由js建構的compiler,接收任意HTML及Handlebars.js表達式後將其編譯為handlebars function.
為一template processor,使用JSON格式動態生成HTML頁面,減少手動更新時間->MVC模式,可維護性提高。
例如 

Welcome back, {{name}}

,{{name}}為動態injected之處
 
一般使用JavaScript framework會依賴template Engines
Each : 為loop指令
Helper:
Block helper: Block helpers make it possible to define custom iterators and other functionality that can invoke the passed block with a new context.( 例如each…)
 
 
        Function helper-在js中使用.registerHelper自定義JSON
http://jamestw.logdown.com/posts/197631-care-of-backbonejs-id-problem
 
        Model: An implementation of the ActiveRecord pattern, but using JSON and a RESTful API instead of directly interfacing with a database. containing the interactive data as well as a large part of the logic surrounding it
1.      一般資料儲存物件
2.      可自行與server溝通取得資料(fetch, save…etc) 當由Server取得資料暫存在Client時,會將取得的資料以Model物件方式儲存在Client上 
3.      使用模式
4.      Class基本屬性: 自定model class時可自定屬於己身的class屬性,然Backbones.Model已內建以下屬性
(1)   Id: 預設為空,為空時欲將Model資料SAVE至SERVER上會被當作crate。若id非空則當作update。通常在一開始對server fetch到model上時,Server傳回的資料也會包含id值
當使用者若在attribute內設定了id,則這個id同時也會設定到model.id上,例如你設定了id,所以id不僅在model下有,在model.attributes下也會有一份
(2)   cid: 當model的instance產生時則每個model皆會自動產生一cid,如此一來即使沒有id也能透過cid找到該筆model
(3)   attributes: 自server取得的資料(實際會於程式內使用的資料)皆儲存於attributes
(4)   initialize
(5)   url: model要對server fetch/save時皆會透過此url執行(設定server API的位置) 若此model位於collection內則通常url由collection提供
(6)   urlRoot: 當model並不在Collection內,也未設定url時,會以urlRoot/id來當作該model的 url
(7)   defaults: attributes屬性的預設值,若產生instance時未設定屬性則以defalut內的值為預設。
(8)   sync; 執行save/destroy會透過model預設的sync呼叫
(9)   parse
(10)       model屬性存取及model attributes下的屬性存取: prop/get
(11)       unset: 用來移除model屬性
     
 
        Collection: Collections are ordered sets of models.
Router: 在不刷新頁面的前提下變更url,同時執行不同的功能。啟用時須呼叫Backbones.history.start();
 
Fetch-Model.fetch()
由server端取得的json物件,所有的json物件屬性全部都會倒進model的atrribute內並觸發change event,這時如果有監聽attribute上的相關屬性,所設定的callback都會被觸發
 
 
Event Handlers: Backbone.js 提供了3 method 去控制事件產生、移除、執行,分別是on(bind)off(unbind)trigger 
comment 0 trackback 0
引用 URL
http://icebreak310.blog.fc2.com/tb.php/236-8232ecfc
引用:
留言:
只對管理員顯示