Sencha touch 如何访问tpl中的属性名称(而不仅仅是值)?
基本上,我要做的是创建一个视图,其中任意JSON对象将被呈现到一个表中,每一行都是key:value(可以安全地假设该对象不包含嵌套的数组/对象等) 例如,如果我有一个对象,比如:Sencha touch 如何访问tpl中的属性名称(而不仅仅是值)?,sencha-touch,extjs,sencha-touch-2,Sencha Touch,Extjs,Sencha Touch 2,基本上,我要做的是创建一个视图,其中任意JSON对象将被呈现到一个表中,每一行都是key:value(可以安全地假设该对象不包含嵌套的数组/对象等) 例如,如果我有一个对象,比如: { "Name": "John Doe", "Age": 34 } 在第三方物流中呈现这种情况的通常方式是: <td>Name:</td><td>{Name}</td> <td>Age:</td><td>{Age}&
{
"Name": "John Doe",
"Age": 34
}
在第三方物流中呈现这种情况的通常方式是:
<td>Name:</td><td>{Name}</td>
<td>Age:</td><td>{Age}</td>
Name:{Name}
年龄:{Age}
但是,我想将其视为我实际上还不知道属性名称,因此我想要如下内容:
<tpl for=".">
<td>{property.key}</td><td>{property.val}</td>
</tpl>
{property.key}{property.val}
你知道这怎么可能吗?我好像在文件里找不到我要找的东西。非常感谢您的帮助。对于将来遇到相同问题的人,我提出的解决方案实际上是可行的,尽管看起来有点难看 基本上,在
{[]}
标记中,您可以执行任意代码,还可以访问一些特殊变量,例如值
等。起初这似乎是有限的,但如果您只是在这些标记中包含一个自执行函数,该函数将返回渲染模板中所需的值,你基本上可以在这里做任何事情
例如:
tpl: [
'<table>',
'{[ (function() { var output = []; for (i in values) { output.push("<tr><td>" + i + "</td><td>" + values[i] + "</td></tr>"); } return output.join(""); }()) ]}',
'</table>'
]
tpl:[
'',
“{[(function(){var output=[];for(i in values){output.push(“+i+”“+values[i]+”);}返回output.join(“”;}())]}”,
''
]
希望这有助于其他同类问题的解决 对于将来面临同样问题的任何人来说,我提出的解决方案实际上是相当可行的,尽管看起来有点难看 基本上,在
{[]}
标记中,您可以执行任意代码,还可以访问一些特殊变量,例如值
等。起初这似乎是有限的,但如果您只是在这些标记中包含一个自执行函数,该函数将返回渲染模板中所需的值,你基本上可以在这里做任何事情
例如:
tpl: [
'<table>',
'{[ (function() { var output = []; for (i in values) { output.push("<tr><td>" + i + "</td><td>" + values[i] + "</td></tr>"); } return output.join(""); }()) ]}',
'</table>'
]
tpl:[
'',
“{[(function(){var output=[];for(i in values){output.push(“+i+”“+values[i]+”);}返回output.join(“”;}())]}”,
''
]
希望这有助于其他同类问题的解决 更优雅的解决方案将是
<tpl foreach=".">
<tr>
<td>{[xkey]}</td>
<td>{.}</td>
</tr>
</tpl>
{[xkey]}
{.}
一个更优雅的解决方案将是
<tpl foreach=".">
<tr>
<td>{[xkey]}</td>
<td>{.}</td>
</tr>
</tpl>
{[xkey]}
{.}