如何避免在Marionette中生成空文本节点?

时间:2014-05-08 01:12:43

标签: javascript backbone.js marionette

我在我的应用程序中使用了Marionette,但我发现它生成了许多空文本节点和空白标记。像这样:

enter image description here

如何避免它?

2 个答案:

答案 0 :(得分:0)

通常,您可以在视图上使用tagName属性来生成该类型的html元素。将tagName设置为“li”或“table”或任何会在html中生成外部标记而不是“div”的内容。

从生成的html的外观来看,似乎模板中可能存在一些错误。木偶不应该产生额外的“div”,当然不是空白的“”。

答案 1 :(得分:0)

调试完所有相关来源后,我发现这个问题是由dustjs引起的(filename是backbone.marionette.dust.js)。

Backbone.Marionette.Renderer.render = function (template, data) {
  var html;
  // Template must be compiled and in the dust cache. Recommend pre-compiling
  // and loading the templates as scripts at app start.
  dust.render(template, data, function (err, out) {
    html = out;
  });
  html = html.trim();//This line was added by me.
  return html;
};

此行'html = html.trim();'之后不再出现空文本节点加入了。