通过尝试构建小部件模块,我目前面临 MustacheJS 模板的问题。
事实上,我两次使用我的 html 模板:
- 服务器解析 html 模板并使用服务器数据呈现它
- 由服务器构建的客户端下载页面(因此已经由服务器端的 mustache 渲染),我想在 ajax 请求之后在浏览器中应用第二个 Mustache 渲染。
但问题是,由于服务器端的变量为空,因此模板 html 不会在客户端呈现......
<!-- Rendered on server side -->
<div class="content noise">
<h4>{{widget.title}}</h4>
<p>Issues from {{widget.github.author}}/{{widget.github.repo}}</p>
<div class="issues"></div>
</div>
<!-- I want to render this only on client side -->
<script type="text/template" id="issueTemplate">
{{#links}}
<a href="{{url}}" {{#selected}}class="Selected"{{/selected}}>{{{name}}}</a>
{{/links}}
</script>
这里 issueTemplate 是空的,因为 {{links}} 在服务器端是空的。
在客户端,我尝试这样的事情,并用“[[”替换“{{”标签,但它没有效果:
self.mu = _.clone(Mustache) ;
self.mu.tags = ['[[', ']]'] ;
那么您是否知道如何从渲染中忽略标签,例如“脚本”?