编辑:我可以将参数传递给新的视图声明吗?像
这样的东西new articleView({
template: "my desired template",
})
假设我有一个对象数组,其中每个对象代表一个主题并包含一些属性:标题,模板类型和文章数组。所有主题几乎相同,减去一些模板差异。
我使用骨干,我有一个普遍的问题:每个“主题”应该是同一个集合类型的单独实例吗?我将在哪里声明用于每个主题的模板类型?该集合是否应具有可变模板类型属性?
var topics = [
{
title: "Topic One",
template: "detailedView",
articles: [
{
title: "A very good article",
timestamp: "2013-01-24"
},
{
//more articles here
}
]
},
{
//another topic here...
}
];
答案 0 :(得分:1)
要回答第一个问题,您当然可以在实例化新视图时传递参数。 documentation的相关部分内容如下:
创建新视图时,您传递的选项 - 合并后 进入视图中已存在的任何默认选项 - 附加到 视图为this.options供将来参考。
因此您的template
参数可以在view
实例中使用,如下所示:
var template = this.options.template;
要回答您的一般性问题,我认为您的意思是我应该定义一个包含相同model
类型的单独实例的单个集合来表示每个主题吗?在这种情况下,根据您对数据结构的描述,我建议这是一个很好的方法。主题model
当然可以包含用于标识其模板的属性。