0

我正在 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>'
        ]
    }]
}
});
4

1 回答 1

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) + ']'));

这将使您更灵活地调试您在数据视图中提供的内容。

希望这可以帮助。

于 2013-05-17T20:03:50.157 回答