什么优点/理由骨干-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