我正在学习如何使用Backbone和Parse创建一个调查网站。 我见过堆栈溢出的类似问题。不过,我的问题有点不同。 在本网站上,用户可以进行自己的调查。现在假设用户可以发布两种类型的问题:多种选择和自由回应。我创建了一个名为Question的骨干模型,如下所示。骨干:一个模型两个视图?
//问题型号
//----------------------
var Question = Parse.Object.extend(
"Question", {
//Default attributes for the todo
defaults: {
content: "What's your name",
type: "free_response",
choices: []
},
initialize: function() {
if (!this.get("content")) {
this.set({"content": this.defaults.content});
}
if (!this.get("type")) {
this.set({"type": this.defaults.type});
}
if (!this.get("choices")) {
this.set({"choices": this.defaults.choices});
}
}
});
所以我也想创建QuestionView可显示的问题。但它应该有不同的选择和自由回应。 那么根据其类型显示不同的问题的最佳方式是什么? 谢谢。
你为什么手动应用的默认值?在'defaults'中使用数组可能会导致问题,如果要包含可变值,则应该为'defaults'使用函数。 –
是的,我确实遇到了数组问题,它似乎没有做我所期望的(这是我可以追加项目到数组)。通过使用函数进行默认值,你的意思是什么? – user1849043
您可以使用函数['defaults'](http://backbonejs.org/#Model-defaults)而不是对象:'defaults:function(){return {...}}'。这会给你一个不同的模型默认设置。 –