Ext JS从回调访问视图和存储

时间:2014-03-25 10:43:49

标签: javascript extjs

当我编写ExtJS控制器的代码时,我经常需要从回调函数访问存储或视图。问题是这些引用属于控制器的范围而不属于函数的范围。 例如,如果我想重新加载网格数据,我会成功写一条新记录:

    record.set(values);
    record.save( {
        callback: function(record, operation) {
            if (operation.wasSuccessful()) {
                Ext.Msg.alert("OK","User Created");
                var view=   Ext.getCmp('contactlist');
                view.getStore().load();
                            view.refresh();
            } else {
              Ext.Msg.alert("Error",operation.request.scope.reader.jsonData["error"]);
            }
    }});

创建用户后我想刷新我的商店,但我不能使用视图和存储控制器字段,因为我在不同的范围内。 从现在开始我使用Ext.getCmp()来检索任何组件?这是一个很好的做法,这是解决这些问题的最佳方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Ext.getStore('your.store.name');获取对商店的引用,并调用您想要的任何方法。 在商店中调用reload()将触发加载事件,对于像网格视图这样的事件将触发视图刷新