相关疑难解决方法(0)

更改模板标记后,John Resig的微模板语法错误<#{%{{等

我在使用John Resig的Micro模板时遇到了一些麻烦.

任何人都可以帮我解释为什么它不起作用?

这是模板

<script type="text/html" id="row_tmpl">
test content {%=id%} {%=name%}
</script>
Run Code Online (Sandbox Code Playgroud)

和引擎的修改部分

str
      .replace(/[\r\t\n]/g, " ")
      .split("{%").join("\t")
      .replace(/((^|%>)[^\t]*)'/g, "$1\r")
      .replace(/\t=(.*?)%>/g, "',$1,'")
      .split("\t").join("');")
      .split("%}").join("p.push('")
      .split("\r").join("\\'")
  + "');}return p.join('');");
Run Code Online (Sandbox Code Playgroud)

和JavaScript

var dataObject = { "id": "27", "name": "some more content" };
var html = tmpl("row_tmpl", dataObject);
Run Code Online (Sandbox Code Playgroud)

和结果,你可以看到= id和= name似乎在错误的地方?除了将模板语法块从<%%>更改为{%%}之外,我没有更改任何内容.

这是来自Firefox.

Error: syntax error
Line: 30, Column: 89
Source Code:
var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push(' test content ');=idp.push(' ');=namep.push(' ');}return p.join('');
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery dom template-engine

5
推荐指数
2
解决办法
1306
查看次数

标签 统计

ajax ×1

dom ×1

javascript ×1

jquery ×1

template-engine ×1