0

在我的主干应用程序中,我有一个需要使用不同模板呈现的视图,这取决于传递给视图的变量。我正在使用 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 语句或其他东西,但这似乎有点混乱。有没有更简洁的方法?

谢谢

4

1 回答 1

0

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

如何将模板传递给 Backbone 中的视图

于 2013-09-17T10:49:20.143 回答