Вид Sencha не меняется при клике события
Я пытаюсь разработать приложение с помощью will call REST Servive от Sencha, используя Ext.Аякс.
Я успешно могу получить ответ, но когда я пытаюсь загрузить другой вид, ничего не происходит.
Я взял ссылку на эту ссылку.
Приложение.js
Доб.приложение({ название: 'epsoft',
requires: [
'Ext.MessageBox',
'Ext.Ajax',
'Ext.Container'
],
views: [
'Main','admin','login',
],
launch: function() {
// Destroy the #appLoadingIndicator element
Ext.fly('appLoadingIndicator').destroy();
// Initialize the main view
Ext.Viewport.add(Ext.create('epsoft.view.login'));
},
)}
В LoginController.js
Ext.Msg.alert('title', 'Failure');
Ext.Viewport.add(Ext.create('epsoft.view.admin'));
MSG всплывающее окно идет должным образом, но новый вид не загружается.
2 ответа:
Вы должны установить новое представление в качестве activeitem в viewport, попробуйте это
Доб.Область просмотра.setActiveItem (доб.Область просмотра.add({xtype: 'admin'}));
Здесь я предполагаю, что admin-это тип вашего следующего представления.
Я не уверен, что это правильный способ сделать это, но я пытаюсь сделать это:
Пусть говорят ваш логин.js имеет идентификатор под конфигурационной частью, подобный приведенному ниже примеру:
Ext.define('epsoft.view.login', { extend: 'Ext.Container', xtype: 'login', config: { id: 'loginForm', // here is ID items: [ . . . ] } });
Затем под loginController.js , Вы можете запустить новый вид с помощью:
var paneltab = Ext.create('epsoft.view.admin'); //Mention the view name to launch Ext.getCmp('loginForm').destroy(); // Destroying the ID Ext.Viewport.add(paneltab); // add to the ViewPort
Надеюсь, что это будет полезно.