1

编辑:我可以将参数传递给新的视图声明吗?所以像

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...
    }  

];
4

1 回答 1

1

要回答您的第一个问题,您当然可以在实例化新视图时传递参数。文档的相关部分内容如下:

创建新视图时,您传递的选项(在合并到视图上已存在的任何默认选项后)将作为 this.options 附加到视图以供将来参考。

因此,您的template参数将在您的view实例中可用,如下所示:

var template = this.options.template;

为了回答您的一般问题,我认为您的意思是我应该定义一个包含相同model类型的单独实例的单个集合来表示每个主题吗?在这种情况下,根据您对数据结构的描述,我建议这是一个很好的方法。主题model当然可以包含一个属性来标识它的模板。

于 2013-01-25T00:18:41.337 回答