这是我的应用程序架构。
var loginView = Ext.create('Ext.Panel',{
id: 'LoginView',
.....
});
var homeView = Ext.create('Ext.TabPanel',{
id: 'HomeView',
items: [
{
xtype: 'list',
title: 'Home',
store: Ext.create('TweetStore'),
disableSelection: true,
....
},
{
title: 'Reply',
....
},
{
title: 'DM',
....
}
]
});
var mainView = Ext.create('Ext.Panel',{
id: 'MainView',
layout: 'card',
items: [ loginView, mainView ]
});
Ext.define('TweetStore', {
extend: 'Ext.data.Store',
config: {
fields: ...
pageSize: 25,
autoLoad: true,
proxy: {
type: 'ajax',
url: '/home',
pageParam: 'page',
limitParam: 'count',
reader: {
type: 'json'
}
}
}
});
中有两个面板MainView
。LoginView
是用户输入其用户名和密码的登录页面。授权成功后,HomeView
显示第二个面板。
我的问题:
- 我希望
TweetStore
授权后才能加载数据,即HomeView
节目时开始加载数据。但是show
即使面板仍然隐藏,也会触发事件。我应该捕捉什么事件。 - 当应用程序启动时,我想发送一个 ajax 请求来检查用户是否登录,如果为真,则
LoginView
隐藏和HomeView
显示。在什么情况下我应该检查这个?