【问题标题】:doT.js returning [object HTMLScriptElement]doT.js 返回 [object HTMLScriptElement]
【发布时间】:2016-03-22 23:29:09
【问题描述】:

doT.js 这里是初学者,所以要温柔。我试图从框架开始简单。阅读完首页后,我能够让那里的所有示例都能正常工作。然而,将 doT.js 移植到我自己的解决方案似乎比我最初想象的更具挑战性。

我正在尝试使用 doT.js 创建一个简单的表格来呈现其内容。

JsFiddle here.

使用 doT.js 自己的编辑器,我能够让这个非常简单的代码块工作:

{{~it :v:i}}
<tr>
   <td>{{= i+1 }}</td>
   <td>{{= v }}</td>
</tr>
{{~}}

我的脚本的其余部分是:

var conts = ['apples','pears','peaches','cherries'];
var popConts = doT.template(contactsTmpl)(conts);
$("#contactsList").html(popConts);

第一行声明数据,第二行将其绑定到我的模板,第三行将其插入到 DOM 中。但是,这样做会导致 [object HTMLScriptElement] 出现在我希望看到我的表格内容的位置。

谁能简单地向我解释一下我在这里缺少什么?

【问题讨论】:

    标签: javascript arrays loops dot.js


    【解决方案1】:

    缺少一个步骤。更新 jsFiddle:https://jsfiddle.net/oe1d3a0w/1/

    var conts = ['apples','pears','peaches','cherries'];
    var contactsTmpl = $("#contactsTmpl").html();
    var popConts = doT.template(contactsTmpl)(conts);
    $("#contactsList").html(popConts);
    
    1. 声明数据
    2. 获取模板内容
    3. 将模板内容与数据绑定
    4. 将结果插入 DOM

    doT.tempalte() 不会通过id 自动绑定到某个东西,而是直接接收它的表达式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-13
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 2022-01-19
      • 2014-06-07
      • 2015-05-09
      相关资源
      最近更新 更多