Ext JS:dataIndex中带句点的模板

时间:2014-07-25 17:58:57

标签: extjs extjs4.2

我正在尝试创建一个XTemplate,我的一个dataIndexes有一个句点...所以我的数据看起来像这样:

{
  "one": 1,
  "two.one": 21,
  "two.two": 22
}

现在,当我创建模板时,我无法执行 {two.one} 之类的操作,因为它认为两个是对象的开头,然后我正在访问其密钥一个。我尝试过像 {'two.one'} 之类的东西,但这也行不通,我已将其追踪到Ext.XTemplateCompiler.parseTag中的罪魁祸首。这段代码打破了它:

// compound Javascript property name (e.g., "foo.bar")
else if (isNaN(name) && name.indexOf('-') == -1 && name.indexOf('.') != -1) {
  v = "values." + name;
}
// number or a '-' in it or a single word (maybe a keyword): use array notation
// (http://jsperf.com/string-property-access/4)
else {    
  v = "values['" + name + "']";
}

所以使用我的 two.one 字符串,我会进入其他地方,但是我真正想要的是紧随其后的其他内容。不幸的是,似乎我不能轻易地覆盖它......有没有人有任何想法?我正在使用Ext JS 4.2.1。

1 个答案:

答案 0 :(得分:1)

感谢Sencha Forums上的裙子,我能够解决它:

不应使用 {two.one} {' two.one'} ,而应 {[values [& #39; two.one']]} 即可。直接使用价值就是票。