我試圖在sencha touch中觸發自定義事件,並且它似乎被添加到可以觸發的事件中,並且它似乎在觸發,但我的偵聽器確實似乎沒有迴應事件。似乎無法響應sencha touch中的事件觸發
事件被這裏instantinated,其中這是形式體:
Ext.apply(this, {
scroll: 'vertical',
dockedItems: [ titlebar, buttonbar ],
items: [ fields ],
listeners: {
beforeactivate: function() {
var saveButton = this.down('#userFormSaveButton');
saveButton.setText('Submit');
this.addEvents('cityUpdate');
console.log('event added');
},
deactivate: function() {
this.resetForm();
}
}
});
然後該事件被觸發的位置:
if (result.data != 'false' && result.data.state) {
Ext.getCmp("usersForm").fireEvent('cityUpdate', result.data.towns);
console.log('event fired');
alert('Your town is ' + result.data.towns + ' ' + result.data.state.replace(/\+/g , ' '));
}
然後聽者在這裏應用於場的形式:
{
xtype: 'textfield',
name: 'city',
label: 'City*',
placeHolder: 'New York',
useClearIcon: true,
id:'city',
listeners: {
cityUpdate: function(city) {
console.log('event reponse' , this.fieldEl.dom , city);
}
}
},
有人可以向我解釋爲什麼我無法看到c中的事件響應調用onsole?我看到事件添加和事件觸發,但我似乎沒有得到事件來實際運行事件響應控制檯語句。我在控制檯中沒有收到任何錯誤,所以我對這裏發生的事情感到有些不知所措?
試着做'console.log(Ext.getCmp(「usersForm」))'看看會出現什麼 – mowwwalker