Backbone / Marionette JST模板 - 没有错误但没有显示View

时间:2014-06-18 10:10:52

标签: javascript templates backbone.js marionette jst

我最近需要为我的所有模板使用JST文件,所以我到处都没有混乱的html模板。

我正在使用grunt(使用grunt-contrib-jst)构建JST文件,并创建文件“build / templates.js”。

下面是一个条目:

this["JST"] = this["JST"] || {};

this["JST"]["build/html/template-1.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape;with (obj) {__p += '    <script type="text/template" id="template-1">\n        <span id="chat_title_1">' +((__t = ( title )) == null ? '' : __t) +'</span>\n        <span id="chat_symbol_1">▲</span>\n    </script>';}return __p};

我根据https://github.com/marionettejs/backbone.marionette/wiki/Using-jst-templates-with-marionette更新了我的backbone.marionette呈现方法,它要求替换Renderer.render方法。请参阅以下更改:

Marionette.Renderer = {
  render: function(template, data){

  if (!JST[template]) throw "Template '" + template + "' not found!";
  return JST[template](data);
  }
};

所以我在观点中有以下内容:

App.ChatBoxView = Backbone.Marionette.Layout.extend({
    template: "build/html/template-1.html",
...

页面加载,没有错误或任何内容,但页面上没有任何渲染,没有视图等。

是否有遗漏或做错了?

谢谢。

1 个答案:

答案 0 :(得分:1)

解决了......我的模板html文件在开头和结尾仍然有<script ....>。删除工作。

更新了“templates.js”中的条目示例:

this["JST"] = this["JST"] || {};

this["JST"]["build/html/template-1.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape;with (obj) {__p += '<span id="chat_title_1">' +((__t = ( title )) == null ? '' : __t) +'</span>\n        <span id="chat_symbol_1">▲</span>';}return __p};