如何使用Marionette Backbone的外部模板

时间:2014-01-19 07:20:14

标签: backbone.js marionette

我如何为Marionette ItemView使用外部模板? 我读了很多'方法',我无法让它们工作......

JST方法......我不在轨道上,所以不能使用

Backbone.Marionette.Renderer.render = (template, data) ->
    path = JST["backbone/apps/" + template]
    unless path
        throw "Template #{template} not found!"
    path(data)

RequireJS方法......我没有使用require js

var tpl = require(inject[this.templateName]);
this.template = _.template(tpl);

我应该使用什么方法?

1 个答案:

答案 0 :(得分:1)

我使用Handlebars作为我的模板引擎,hbs通过require.js检索预编译资源,这样我所要做的就是定义模板并将其设置为ItemView的模板;牵牛花完成其余的工作。

这是一个例子

查看 - welcome.js

define([
    'app',
    'jquery', 
    'backbone',
    'marionette', 
    'hbs!templates/welcome'
    ],
function(App, $, Backbone, Marionette, template) {

    return Backbone.Marionette.ItemView.extend({

        template: template,
    });
});

模板 - welcome.html

<div>
    <h1>Hello World</h1>
</div>

如果你没有使用把手,或者不能使用hbs,那么可以使用text.js进行类似的事情 - https://github.com/requirejs/text