我从我的视野中调用了两次控制器功能。出于某种原因,其中一个呼叫正在工作而另一个呼叫没有。我对ExtJS比较新,所以请帮助我们。
Ext.define('Gsm.view.systemmessages.SystemMessages', {
extend: 'Ext.grid.Panel',
...
...
...
dockedItems: [{
xtype: 'toolbar',
dock: 'top',
items: [{
xtype: 'textfield',
name: 'searchfield',
cls: 'searchfield',
listeners: {
change: function(field, value){
this.getController().filterStore(value); <-- can not reach controller from here
}
}
}]
}],
columns: [{
text: 'Tipas',
width: 150,
dataIndex: 'type',
sortable: true
},
...
...
...
{
...
...
...
}],
listeners: {
select: function(RowModel, record, index, eOpts){
this.getController().onRowClick(record); <-- can reach controller from here
}
}
});
答案 0 :(得分:1)
为什么不让你的监听器成为一个应该自动解析到ViewController的字符串?
listeners : {
select : 'someSelectName'
}
listeners : {
change : 'someChangeName'
}
然后在ViewController中,在上面的那些方法中,然后执行onRowClick和filterStore方法调用。基本上将逻辑从视图移动到ViewController。
someSelectName : function(RowModel, record) {
this.onRowClick(record);
},
someChangeName : function(field, value) {
this.filterStore(value);
}