1

Ext.XTemplate文档说:

tpl 标签和 for 运算符用于处理提供的数据对象:

  • 如果 for 中指定的值是一个数组,它将自动填充,为数组中的每个项目重复 tpl 标记内的模板块。
  • 如果为 =“。” 指定,则检查提供的数据对象。
  • 在处理数组时,特殊变量 {#} 将提供当前数组索引 + 1(从 1 开始,而不是 0)。

我遵循第一条规则,并为面板的数据配置分配了一个对象数组,但它只显示一个空白。代码如下:

                  {
                 xtype : 'panel',
                 tpl : new Ext.XTemplate([
                          '<tpl>',
                            '<div>',
                                '{index}',
                            '</div>',
                          '</tpl>'
                 ]),
                 data : [
                         {index : '11'},
                         {index : '12'},
                         {index : '13'}
                 ]
              }

所以我遵循第二条规则'for="."'并为它添加一个'<tpl>',它有效!所以,我想知道'for="."'如果你只想用 Ext.XTemplate 循环一个数组,这是否真的意味着你必须添加一个?

另外'for="."',使用该语句真的是一种不好的做法吗?

4

1 回答 1

0

是的,<tpl for=".">意味着迭代“活动”对象。例如,“活动”对象从外部数组变为内部数组,因为在迭代期间我们指向内部数组:

var tpl = new Ext.XTemplate([
    '<tpl for=".">', // "." points to the outer array
        '<tpl for=".">', // "." points to each inner array
            '{.}',
        '</tpl>',
    '</tpl>'
]);

console.log(tpl.apply([
    [1, 2],
    [3, 4]
]));
于 2013-09-09T04:20:04.400 回答