我有一个模板,一个商店和一个简单的数据视图,我添加了商店和tpl。我无法运行它并收到以下错误:data [root] .slice不是函数。
继承我的小提琴https://fiddle.sencha.com/#fiddle/cc9
感谢。
答案 0 :(得分:0)
您的商店格式错误,当您的模型已经静止时,您无法按照设置的方式设置动态列。
这可以解决你的问题:
var store = Ext.create("Ext.data.Store",{
fields:["VAL", "HEAT"],
autoLoad:true,
proxy:{
type:"ajax",
url:"data1.json",
reader:{
type:"json",
root:"data.ROWS"
}
}
});
var myTpl = new Ext.XTemplate(
'<table border="1px" border-color="#444444" width="100%">',
'<tr>',
'<th>VAL</th>',
'<th>HEAT</th>',
'</tr>',
'<tpl for=".">',
'<tr>',
'<td align="center">{VAL}</td>',
'<td align="center">{HEAT}</td>',
'</tr>',
'</tpl>',
'</table>'
);
var dataview = Ext.create("Ext.view.View",{
store: store,
tpl:myTpl,
itemSelector:"",
renderTo:Ext.getBody()
});
你的data1.json
{
"data" : {
"COLUMNS": [
"Column 1",
"Column 2",
"Column 3"
],
"ROWS": [
{"VAL":"R1C1", "HEAT":1},
{"VAL":"R1C2", "HEAT":3},
{"VAL":"R1C3", "HEAT":2},
{"VAL":"R2C1", "HEAT":1},
{"VAL":"R2C2", "HEAT":1},
{"VAL":"R2C3", "HEAT":4}
]
}
}