什麼優點/理由骨幹-JS使用的語法骨幹JS的區別屬性
//using a Model instance called model
model.get('attribute')
,而不是
model.attribute
我只是開始使用骨幹我總是試圖直接訪問屬性
什麼優點/理由骨幹-JS使用的語法骨幹JS的區別屬性
//using a Model instance called model
model.get('attribute')
,而不是
model.attribute
我只是開始使用骨幹我總是試圖直接訪問屬性
如果你看源代碼,get
功能只是撥打this.attributes[name]
。
http://backbonejs.org/docs/backbone.html#section-31
的好處,雖然是至少兩個:
1)減少了代碼你正在編寫
2)覆蓋的能力的量一致的API get
方法,並提供更復雜的訪問控制
例如,有幾個插件主幹網覆蓋模型,以提供嵌套模式的能力是如何工作的。這很容易讓他們讓你寫一個get方法是這樣的:
model.get("submodel.attr")
,並具有解析出submodel
子模型的attr
。如果沒有get方法,使其與API保持一致會更困難。
從這個根本的好處是封裝,雖然。直到JavaScript提供的是讓我們寫getter和setter代碼真正的get/set屬性,我們將堅持與變通方法,如骨幹get
和set
。
嗯..對於初學者來說,model.attribute
是絕對不正確的。 model.set()
需要爲了得到change
事件火災。如果你習慣於使用model.attributes[attribute]
而不是model.get(attribute)
你能否澄清一下user.get('name')''user.name'如何減少代碼量? – 2012-10-16 15:03:49
我猜他的意思是你用的''而不是user.attributes [「名」]'是'較長user.get(「名」)。但是,爲了訪問嵌套模型,我會使用這個語法:'user.attributes.name.first' – orad 2012-10-16 20:42:48