我有一个小问题要在控制器中获取我的树的实例。好吧,如果没有 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()
等(就像我在上面的代码中所做的那样)。
Ext.define("MyApp.controller.GridPanelTreeController", {
views: ["GridPanelTree"],
refs : [{
ref: "controllerDataSelector",
selector: "tree"
}],
init: function(){
this.control({
"toolbar button[action=delete] " : {
click : this.delete
}
});
},
delete : function() {
/* this returns an error, that tree is undefined*/
var tree = this.getControllerDataSelector();
var record = tree.getSelectionModel().getSelection()[0];
/* this returns an error, that TypeError: tree.getSelectionModel is not a function */
var tree = this.getGridPanelTreeView();
var record = tree.getSelectionModel().getSelection()[0];
}
我不知道为什么它不能正常工作。如何解决这个问题呢?