- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 Twig 。它使用这些标签:{{ name }}
我想将 JsRender 包含在我的项目中。但 JsRender 也使用相同的标签 {{:name}}
,所以存在冲突并且没有任何作用。如何使用自定义标签更改默认的 JsRender 标签,例如 Ruby <%= name %>
更新:
出于某种原因,我无法使其与控制流标签一起使用,for
自定义标签的行为不符合预期。为什么会发生这种情况?
这是一个模板:
<script id="myTmpl" type="text/x-jsrender">
<%!-- This is a copmment %>
<% for data %>
<%:key%>
<% /for %>
</script>
这里是js
代码:
var template = $.templates("#myTmpl");
var htmlOutput = template.render(data);
$(".div").html(htmlOutput);
这是渲染结果:
<%!-- This is a copmment %> <% for data %> <% /for %>
最佳答案
JsRender 让您可以更改分隔符,如下所示:
$.views.settings.delimiters("<%", "%>");
那么你会写<%: name %>
.
如果使用JsViews,还可以设置绑定(bind)字符^
在{^{
- 通过写:
$.views.settings.delimiters("<%", "%>", "*");
然后使用 <*%: name %>
.
示例(作为下面的代码片段运行):
<%!-- a comment --%>
<%:title%>
<%for items%>
<div><%:name %></div>
<%/for%>
$.views.settings.delimiters("<%", "%>");
var data = {
title:"The Title",
items: [
{name:"Item one"},
{name:"Item two"}
]
};
var template = $.templates("#myTmpl");
var htmlOutput = template.render(data);
$("#result").html(htmlOutput);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//www.jsviews.com/download/jsrender.js"></script>
<script id="myTmpl" type="text/x-jsrender">
<%!-- a comment --%>
<%:title%>
<%for items%>
<div><%:name %></div>
<%/for%>
</script>
<div id="result"></div>
请注意,您必须简单地替换原来的 "{{"
和"}}"
字符由所选的替换字符替换,但不更改空格。更换后,<% for items%>
是不正确的,因为正确的语法是 {{for items}}
,不是{{ for items}}
。 (这是你上面的错误......)。应该是<%for items%>
。等等
参见Setting tag delimiters for JsRender用于文档。
参见http://www.jsviews.com/#jsrtags对于标签语法。
关于jsrender - 如何更改JsRender模板标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29493005/
是否有 JsRender 事件或回调来确定渲染方法何时完成?我想处理一些模板并确保它们在我获取结果文档元素之前都已完成。所有渲染方法是否同步运行? 最佳答案 jsRender 同步渲染模板,没有回调函
我有一个带有动态属性名称的 JSON 对象。如何使用 JsRender 渲染属性名称?我一直在查看 JsRender 演示页面中的示例,但找不到方法。 示例: { 'prop1': '123'
是否可以将 jsRender 模板存储在单独的文件中? 我想将其存储在单独的文件中,并在我的页面中引用它。 类似这样的事情 我会感谢任何意见或建议。 谢谢 最佳答案 是的,你可以完成这个(我每次都使
当我使用jsrender模板引擎时,我想在代码中添加一些注释,但是找不到注释标签。 我知道我可以使用html注释,但是我根本不希望这些注释在html上呈现,因此是不可行的。 所以,我想拥有的是: {
{{for #parent.parent.data.Location}}
我用 Twig 。它使用这些标签:{{ name }} 我想将 JsRender 包含在我的项目中。但 JsRender 也使用相同的标签 {{:name}} ,所以存在冲突并且没有任何作用。如何使用
我想使用如下。 {{=Title}} {{* var title = $ctx.GetTitleFunction($view);}
想象一下,在 web 应用程序的 header 中使用 jsrender 显示用户的姓名和姓氏。我将一个对象传递给模板,该对象是“用户”对象。然后在模板中显示 {{name}} 和 {{surname
本文实例讲述了JsRender for index循环索引用。分享给大家供大家参考。具体分析如下: JsRedner和JsViews(JsViews是再JsRender基础上的进一步封装)被称为下
本文简要讲述了JsRender for object的基本语法。分享给大家供大家参考。具体如下: JsRender 作为一款JavaScript模版引擎,必不可少的会有循环功能,也就是
我有一个匿名数组被传递到 JsRender 模板中,如何引用每个元素来动态渲染它们? 这是模板代码,我已经全部设置完毕,只是不知道将什么变量传递到 {{for}} 标记中: {{for /*
嗨,我有这两个不同的东西: columns = { name:"Name", ref:"Reference" } items:[ { id:1, name:"Dan", ref:"01" }, {
jsRender支持如下if语句吗? {{ if val > 1 }} .... {{ /if }} 我找不到任何例子。我还了解到使用辅助函数有一种变体。 最佳答案 是的,请参阅www.jsview
我正在尝试学习 JSRender。是否可以根据条件渲染子模板?例如,如果#index = 1或2,则渲染模板A,如果3或4,则渲染模板B? 最佳答案 这是正确的语法 - 以及下面的一些文档链接。
jsRender 是否支持如下 if 语句? {{ if val > 1 }} .... {{ /if }} 我找不到任何示例。我也知道有一种使用辅助函数的变体。 最佳答案 是的,参见 www.js
我想将多个模板保留在一个外部模板文件中。但我不知道如何从整个文件中获取一个模板 最佳答案 你的模板集合需要有不同的脚本标签(作为 jsRender 的默认内联用法)。然后您可以加载集合文件,找到请求的
如何在 JSRender 中的模板内渲染模板?在之前的 jquery 模板中,我可以使用 {{tmpl(Languages) "#languageTemplate"}} 在 JSRender 中,我可
我正在使用 jQuery 和 JsRender 来呈现我的模板。 这是我的 jsfiddle 示例: http://jsfiddle.net/kWBFS/8/ 谁能告诉我应该如何访问特定数组的值? 目
我想通过 Jsrender 填充选择框。 代码正确填充了选择框,但默认情况下我无法选择几个值。我为此创建了一个 Jsrender 辅助函数,但我认为循环内无法访问其他值,所以这就是该函数不起作用的原因
如题所示,问题很明确: 在构造中: {{if is_completed == 1}} {{:#parent.parent.data.myproperty}} {{/if}} 父属性不可见
我是一名优秀的程序员,十分优秀!