Extjs 如何在controller-Ext 4中获取树实例

Extjs 如何在controller-Ext 4中获取树实例,extjs,extjs4,extjs-mvc,Extjs,Extjs4,Extjs Mvc,我在控制器中获取树的实例时遇到了一个小问题。嗯,如果没有MVC模式,它看起来是这样的,而且运行良好 var tree = Ext.create('Ext.tree.Panel', { tbar : [{ text : 'Delete', handler : function() { var record = tree.getSelectionModel().getSelection()[0];

我在控制器中获取树的实例时遇到了一个小问题。嗯,如果没有MVC模式,它看起来是这样的,而且运行良好

var tree = Ext.create('Ext.tree.Panel', {
    tbar : [{
        text : 'Delete',
            handler : function() {
                var record = tree.getSelectionModel().getSelection()[0];
                record.remove(true);
                tree.getView().refresh();
            } 
    }]
});
然后我创建了MVC模式,我想获取树引用,这样我就可以调用方法
getSelectionModel()
等等(就像我在上面代码中所做的那样)


我不知道为什么它不能正常工作。如何解决这个问题?

您需要查看函数的参数

delete : function(btn) {

    var tree = btn.scope;
    var record = tree.getSelectionModel().getSelection()[0];


 }

仅供参考,
delete
是一个javascript关键字,您不应该将其用作函数名。不,我刚刚更改了函数名,但它仍然无法按预期工作。将
action
属性添加到控制台上的buttonlog树并检查您看到了什么,
refs
选择器基于
xtype
itemId
工作,如果
tree
itemId
,那么它应该像
#tree
一样,
tree
的xtype是
treepanel
ref
可以是任何值,基于此它将生成getter方法,但是选择器必须是有效的选择器,例如itemId/xtype
delete : function(btn) {

    var tree = btn.scope;
    var record = tree.getSelectionModel().getSelection()[0];


 }