我正在Sencha Touch中创建一个DataView,它存在于我的一个标签中。
问题是,我看不到我的DataView。如果我右键单击 - >检查元素(在Chrome中),我可以在页面上看到我的DataView的HTML(在开发人员工具中),但在页面本身上,我看到的只是一个白色背景。
以下是我的DataView的源代码:
Ext.define('MyApp.view.DashboardTab', {
extend: 'Ext.Panel',
xtype: 'dashboard',
config: {
title: 'Dashboard',
itemId: 'dashboardTab',
layout: 'vbox',
items: [{
xtype: 'dataview',
store: { xtype: 'mystore' },
itemTpl: [
'<div class="myDiv">',
'<table class="myTable">',
'<tr>',
'<td>Data 0:</td><td>{data_0}</td>',
'<td>Data 1:</td><td>{data_1}</td>',
'</tr>',
'<tr>',
'<td>Data 2:</td><td>{data_2}</td>',
'<td>Data 3:</td><td>{data_3}</td>',
'</tr>',
'<tr>',
'<td>Data 4:</td><td>{data_4}</td>',
'<td>Data 5:</td><td>{data_5}</td>',
'</tr>',
'</table>',
'<div class="myOtherDiv">',
'<img src="{image}" />',
'</div>',
'</div>'
]
}]
}
});
答案 0 :(得分:0)
您的数据视图看起来没有从商店获取数据,这就是数据视图未显示的原因。
另一种方法是在控制器中使用setData来设置数据视图的数据。
例如,
var responseObj = serverController.getWSResponse;
var myDataView = Ext.getCmp('myDataView ');
var data = myDataView .getData();
if (data != null) {
myDataView .onStoreClear();
}
myDataView.setData(Ext.JSON.decode('[' + JSON.stringify(responseObj) + ']'));
这将使您可以更灵活地调试数据视图中的内容。
希望这有帮助。