Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何使用MustacheJS忽略标记大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前通过尝试构建小部件模块来@L_756_0@mustacheJS模板的问题.

事实上,我使用了两次html模板:

>服务器解析html模板并使用服务器数据进行渲染
>服务器构建的客户端下载页面(已经由服务器端的胡子呈现),我想在ajax请求之后在浏览器中应用第二个Mustache渲染.

但问题是,由于vars在服务器端是空的,模板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 = ['[[',']]'] ;

那么你是否知道如何忽略渲染中的标签,例如’script’?

解决方法

在Mustache中,您可以使用{{= … =}}标记动态更改标记分隔符;您可以通过选择文字中不存在的分隔符来使用它来创建文字部分.因此你可以做类似的事情

<!-- Rendered on server side -->
<div class="content noise">
  <h4>{{widget.titlE}}</h4>
  ...
<!-- I want to render this only on client side -->

{{={{{ }}}=}}
<!-- Now only triple braces will bE interpreted as tags on the server side -->
<!-- Double braces will be passed through literally -->

<script type="text/template" id="issueTemplate">
{{#links}}
...
{{/links}}
</script>

{{{={{ }}=}}}
<!-- Now double braces delimit tags again if you need to do more server-side rendering-->

大佬总结

以上是大佬教程为你收集整理的node.js – 如何使用MustacheJS忽略标记全部内容,希望文章能够帮你解决node.js – 如何使用MustacheJS忽略标记所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。