Я недавно прочитал, что использование Ext.getCmp
считается не очень хорошим, поэтому я обхожу свое приложение, конвертируя их в рекомендуемый метод up () или down ().
Я пришелопять маленькая проблема, хотя.В моем контроллере входа это, кажется, не работает, и я не могу понять, почему.Мой оригинальный контроллер с Ext.getCmp
выглядит примерно так:
onLoginClick: function() {
let formValues = this.getView().down('form').getValues();
Application.login(formValues.email, formValues.password).then(function() {
this.getView().destroy();
}.bind(this), function(data) {
Ext.getCmp('loginissues').setValue(data.message).show();
});
}
, и мой взгляд немного похож на это;
items: [{
xtype: 'displayfield',
id: 'loginissues',
hidden: true
}, {
xtype: 'textfield',
id: 'email',
name: 'email',
fieldLabel: 'Email',
allowBlank: true
}, {
name: 'password',
inputType: 'password',
fieldLabel: 'Password',
allowBlank: true
}]
Так что в основном происходит то, что еслиОшибка возвращается из API, он загружает сообщение в поле отображения и затем отображает его.Все это прекрасно работает, но если я изменю идентификатор в представлении на itemId
, а затем изменим вызов Ext.getCmp на что-то вроде следующего, он вообще ничего не сделает.
this.getView().down('#loginissues').setValue(data.message).show();
без ошибок или чего-либо еще.