私は最初のEXT js mvcアプリケーションを開発しています。コントローラクラスからグリッドパネルにイベントリスナーを追加する際に問題があります。コードの下に使用する方法「オン」を通じて、イベントハンドラを追加しているとき、私はエラーの下に取得していますなぜExt JSグリッドパネルのイベント
私の質問は
エラー:
Uncaught TypeError:
gridPanel.on is not a function
at constructor.init
関連するコード:私は
var gridPanel = Ext.ComponentQuery.query('userlist');
gridPanel.on('itemdblclick', this.editUser, gridPanel);
しかし、別の方法でハンドラを追加することができますが、グリッドパネル参照の 'on'メソッドを追加することで何が間違っているのか把握しようとしています。どんな助けもありがとうございます。ここで
おかげ
は私の完全なコントローラクラスは
Ext.define('AM.controller.Users', {
extend: 'Ext.app.Controller',
views: ['user.List'],
init: function() {
var gridPanel = Ext.ComponentQuery.query('userlist');
gridPanel.on('itemdblclick', this.editUser, gridPanel);
},
editUser: function() {
console.log('User edit has begun..');
}
}, function() {
});
そして、私のグリッドパネルクラスです:
Ext.define('AM.view.user.List', {
extend: 'Ext.grid.Panel',
alias: 'widget.userlist',
title: 'All Users',
id: 'usergrid',
initComponent: function() {
this.store = {
fields: ['name', 'email'],
data : [
{name: 'Ed', email: '[email protected]'},
{name: 'Tommy', email: '[email protected]'}
]
};
this.columns = [
{header: 'Name', dataIndex: 'name', flex: 1},
{header: 'Email', dataIndex: 'email', flex: 1}
],
this.callParent(arguments);
}
});
と同じであるあなたが
alias:'widget.userlist'
を使用している*ここで問題はありますか? –