我正在使用jsRender来渲染模板,但是我的JSON数据属性名称包含句号。
在网上举一个简单的例子,这很好用:
http://jsfiddle.net/mythical/4rtTy/
在属性名称中有一个句号,它不再有效:
我需要使用什么语法/技术来允许jsRender获取这些属性?
var data = {
people: [{
"full.name": 'Dan Wahlin',
shirtColor: 'white'
}]
};
{{for people}}
<li>{{:full.name}} likes to wear {{:shirtColor}} shirts</li>
{{/for}}
答案 0 :(得分:3)
就像在Javascript中您可以编写data.key
或data['key']
一样,您实际上可以使用语法"full.name"
让JsRender访问#data['someKey']
之类的属性名称 - 自{{ 1}}是当前数据项。
所以在你的情况下你可以写:
#data
答案 1 :(得分:0)
你有这个JSON:
var data = {
people: [{
"full.name": 'Dan Wahlin',
shirtColor: 'white'
}]
};
这个模板
{{for people}}
<li>{{:full.name}} likes to wear {{:shirtColor}} shirts</li>
{{/for}}
这是不正确的,因为jsRender尝试获取此json结构的值:
var data = {
people: [
{
"full": { "name":'Dan Wahlin'},
shirtColor: 'white'},
{
"full": { "name":'John Papa' },
shirtColor: 'black'},
{
"full": { name: 'Scott Guthrie'},
shirtColor: 'red'}
]
};
参考:https://www.jsviews.com/#assigntag 示例:{{:data.paths}}