1
Ext.application({
        name: 'test',
        launch: function() {
            var grid = Ext.create('Ext.grid.Panel', {
                id:'grid',
                renderTo: Ext.getBody(),
                store: userStore,
                width: 400,
                height: 200,
                title: 'Application Users',
                columns: [
                    {
                        text: 'word1',
                        width: 100,
                        sortable: false,
                        hideable: false,
                        dataIndex: 'word1'
                    },
                    {
                        text: 'word2',
                        width: 100,
                        sortable: false,
                        hideable: false,
                        dataIndex: 'word2'
                    }
                ],
                dockedItems: [
                    {
                        xtype: 'pagingtoolbar',
                        store: userStore,
                        dock: 'bottom',
                        displayInfo: true
                    }
                ]
            });

            //error here
            grid.reload();

我在控制台中看到错误:

未捕获的类型错误:对象 [对象对象] 没有方法“重新加载”

在调试器中,我看到变量“grid”的类型为“constructor”

网格:构造函数

所以难怪为什么没有方法'reload'。我很奇怪为什么我得到对构造函数的引用而不是对新创建的对象的引用。

实例化另一个 ExtJs 核心类时也会出现同样的问题。

它可能与我的项目结构有关吗?

PS 我是 JavaScript 新手,所以如果问题出在我对核心概念的理解不佳,我不会感到惊讶。

4

1 回答 1

1

问题是网格没有reload方法,加载由商店处理,所以你想要grid.getStore().load();

首先要做的是检查文档,您会看到网格上没有 reload 方法。

于 2013-10-06T12:37:24.117 回答