以下代码是我的Controller类的一部分;
1。)当代码进入Success
或Failure
块时,我需要程序导航到另一个视图,该视图将显示Registration View
或Information View
。
Ext.Ajax.request({
url: 'http://call.com/the_webservice',
params : values,
failure: function (response) {
var text = response.responseText;
// SHOW SIGN UP SCREEN
}, success: function (response) {
var text = response.responseText;
// GO TO ANOTHER VIEW AND IT WILL SHOW THE USER WITH SOME INFORMATION
}
});
更新
在app.js
views: ['Main','HomePage','Register'],
和
launch: function() {
// Destroy the #appLoadingIndicator element
Ext.fly('appLoadingIndicator').destroy();
// Initialize the main view
Ext.Viewport.add(Ext.create('app.view.Main'));
Ext.Viewport.add(app.view.Register);
},
然后在按下ControllerPage.js按钮...
success: function (response) {
var text = response.responseText;
var result = Ext.decode(response.responseText);
Ext.Viewport.setActiveItem(0);
console.log("success");
}
控制台日志success
被打印,但视图未导航到Register
视图
更新2
我没有使用tabPanel
,在我的代码中,我使用tabBarPosition: 'bottom',
来显示屏幕底部的标签。你能告诉我如何在视图之间导航,包括tabbarpanel。以下代码是我的Main.js,这是我包含标签的地方。
Ext.define("app.view.Main", {
extend: 'Ext.tab.Panel',
config: {
tabBarPosition: 'bottom',
items: [
{
xtype:'formReq'
}
]
}
});
答案 0 :(得分:1)
你的问题不是很精确。 然而,如果你问如何在页面之间导航,这一切都取决于它们的设置方式。 假设您将两个视图(RegistrationView和InformationView)添加到应用程序视口(Ext.ViewPort):
Ext.Viewport.add(MyApp.view.RegistrationView)
Ext.Viewport.add(MyApp.view.InformationView)
然后您需要做的就是:
Ext.Ajax.request({
url: 'http://call.com/the_webservice',
params : values,
failure: function (response) {
var text = response.responseText;
Ext.ViewPort.setActiveItem(0);
},
success: function (response) {
var text = response.responseText;
Ext.ViewPort.setActiveItem(1);
});
这只是一种做法(也许不是最好的)。 希望这有帮助。