Backbone - 使用require js将变量模板传递到视图中

时间:2013-09-17 10:32:38

标签: javascript backbone.js requirejs

在我的骨干应用程序中,我有一个需要使用不同模板呈现的视图,这取决于传递给视图的变量。我正在使用require js并想知道是否有这样做的聪明方法。

以下是我将如何调用实例化新视图:

var templateType = 'Template1'
var view = new DetailView({model:thisModel, 'templateType': templateType}); 

以下是该视图的示例:

define(['backbone', 
    'text!templates/template1.html',
    'text!templates/template2.html' ], 
    function(Backbone, 
            Template1,
            Template2){

var DetailView = Backbone.View.extend({

    tagName : 'li',
    className: 'detail-tag',        

    initialize : function(){    
        this.detailTemplate = _.template( this.options.templateType );
        this.render();          
    },

这不能给我所需的结果。如何使用选项值链接到require变量 - Template1?我意识到我可能会设置一个switch语句或者什么,但这看起来有点乱。有一种更简洁的方式吗?

由于

1 个答案:

答案 0 :(得分:0)

我决定将模板传递给视图,而不是尝试将其与require中包含的模板进行匹配。我用这个问题作为我的解决方案的模型:

How to pass a template to a view in Backbone