- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我有这两个不同的东西:
columns = {
name:"Name",
ref:"Reference"
}
items:[
{ id:1, name:"Dan", ref:"01" },
{ id:2, name:"Dan2", ref:"02" }]
我需要将它们放在表格中,例如:
| Name | Reference |
| Dan | 01 |
| Dan2 | 02 |
通常这将是:
{{for columns}}
{{:name}} {{:ref}}<br>
{{/for}}
{{for items}}
{{:name}} {{:ref}}<br>
{{/for}}
但是,我在这两个对象中的键是动态的,所以我想要在 javascript 中实现以下内容:
var header = "";
for(key in Object.keys(columns){
header+=" "+columns[key));
}
console.log(header);
for(var i=0;i<items.length;i++){
var item = items[i];
var line ="";
for(key in Object.keys(columns){
line+=" "+items[key);
}
console.log(line);
}
有人可以提出建议吗?
最佳答案
你可以这样做:
<script id="tmpl" type="text/x-jsrender">
<table><thead><tr>
{{props columns}}
<th>{{:prop}}</th>
{{/props}}
</tr></thead>
<tbody>
{{for items}}
<tr>
{{props ~root.columns ~item=#data}}
<td>{{:~item[key]}}</td>
{{/props}}
</tr>
{{/for}}
</tbody></table>
</script>
{{props}}
迭代对象的属性 - 在 {{props}}
block 中,key
是属性(字段)名称,prop
是值。 (参见http://www.jsviews.com/#propstag)。
~item=#data
定义一个变量(“辅助属性”),您可以从嵌套 block 中访问该变量,以便轻松获取“父数据”那里。 (参见http://www.jsviews.com/#samples/jsr/paths)。
以上假设使用以下数据:
var data = {
columns: {
name:"Name",
ref:"Reference"
},
items:[
{ id:1, name:"Dan", ref:"01" },
{ id:2, name:"Dan2", ref:"02" }
]
}
$("#result").html(tmpl.render(data));
关于javascript - jsRender for in for,但是针对2种不同的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25061054/
是否有 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}} 父属性不可见
我是一名优秀的程序员,十分优秀!