骨干模型新与未保存



我有一个主干视图,它将模型渲染到屏幕上。当模型(IsNew)时,我必须将我的距离值从这个.model.attributes.distance中获取,否则从这个.model.distance中获取为什么?

所以在代码的某个地方,我有这样的:

if(!this.model.distance)
    distance = this.model.attributes.distance
 else
    distance = this.model.distance;

在我看来,这是一个丑陋的解决方案,可能还有更好的方法。有线索吗?

您可能获取和设置的值不正确。

设置值:this.model.set({name: "value"})

获取值:this.model.get("value")

set方法将JSON文档作为参数,并允许您指定要分配的多个属性:

this.model.set({foo: "bar", baz: "quux"})

get方法只允许您按名称指定一个要获取的值。

通过直接访问model.attributes,您可以绕过Backbone为模型设置的所有逻辑和流程,包括事件通知和验证。建议您使用setget方法,而不是直接访问属性。

var distance = this.model.get('distance')

最新更新