Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sencha touch 如何访问tpl中的属性名称(而不仅仅是值)?_Sencha Touch_Extjs_Sencha Touch 2 - Fatal编程技术网

Sencha touch 如何访问tpl中的属性名称(而不仅仅是值)?

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}&

基本上,我要做的是创建一个视图,其中任意JSON对象将被呈现到一个表中,每一行都是key:value(可以安全地假设该对象不包含嵌套的数组/对象等)

例如,如果我有一个对象,比如:

{
    "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]}
{.}