一.自訂Model Class
自訂的Model Class一定要繼承自Backbone.Model,所產生的Model Class也可以再被繼承下去。
如果需要override一些Class屬性,則在宣告Class時傳進去。
var MyModelClass=Backbone.Model.extend(properties)
properties:想要overrde的Class屬性hash
例:
window.Item=Backbone.Model.extend({ initialize:function(){ this.set({url:"hi”}) }, defaults:{ type:"rock" }, my:"ozzy" }) var item=new Item(); console.log(item.my) // “ozzy” Class Propery console.log(item.get(“url”)) // “hi” attributes's property console.log(item.get(“type”)) // “rock”
例:繼承自訂Model Class
window.MyItem=Item.extend({})
二.產生model instance
利用 new Model(prperties)產生instance
properties:所要傳入attributes內的屬性hash
instance可以改變attributes上的屬性值,也可自訂attributes上的prop,
可以改變model屬性值,但無法自訂model屬性值
例
window.MyModel=Backbone.Model.extend({ initialize:function(){ this.set("prop1",123) }, my:'ozzy' }) //--利用instance 設定與讀取class屬性 var model=new MyModel(); console.log(model.my) model.my='sun'; console.log(model.my) //--利用instance 設定與讀取class attributes的屬性 console.log(model.get('prop1')); model.set("prop1",456); console.log(model.get('prop1'));
三.自訂Class與產生instance時傳入的property
要設定initialize....等Class屬性一定要在宣告Class時設定進去
當然你也可以在設定initialize時,在initialize內設定attributes內的屬性內容
在產生model instance時,設定進去的則是attributes內的屬性值
沒有留言:
張貼留言