首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Underscore.js模板绘制

Underscore.js模板绘制
EN

Stack Overflow用户
提问于 2011-11-19 18:02:32
回答 1查看 26.8K关注 0票数 11

我有这个示例代码来使用下划线模板来呈现简单的unescapedHTML。

代码语言:javascript
复制
var template = $(this.el).html(_.template(this.template, {'data': '<script>'}));
$(this.parent).append(template);

但是当它试图渲染它时,它会导致一个错误:

Uncaught :对象对象没有“替换”方法

谁能告诉我原因是什么,怎么解决?因为在下划线文件中:

代码语言:javascript
复制
var template = _.template("<b>&lt;%- value %></b>");
template({value : '&lt;script&gt;'});
=> "<b>&lt;script&gt;</b>"

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-03 19:40:52

我只是在服务器上运行节点时遇到了同样的错误。如果您从磁盘读取模板文件,并且没有指定编码,那么node.js将返回一个缓冲区。错误基本上是一样的,因为下划线需要一个字符串。请确保指定了编码,以便传递要下划线的字符串。

这将产生错误。

代码语言:javascript
复制
var template = _.template(fs.readFileSync('mytemplate.tpl'));

这很好。

代码语言:javascript
复制
var template = _.template(fs.readFileSync('mytemplate.tpl', { 'encoding':'utf8'}));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8196091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档