Sencha touch sencha touch 2中面板的事件流
这是我的应用程序架构Sencha touch sencha touch 2中面板的事件流,sencha-touch,sencha-touch-2,Sencha Touch,Sencha Touch 2,这是我的应用程序架构 var loginView = Ext.create('Ext.Panel',{ id: 'LoginView', ..... }); var homeView = Ext.create('Ext.TabPanel',{ id: 'HomeView', items: [ { xtype: 'list', title: 'Home',
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'
}
}
}
});
main视图中有两个面板LoginView
是一个登录页面,用户在其中输入用户名和密码。授权成功后,将显示第二个面板HomeView
我的问题是:
我希望在授权后加载TweetStore
中的数据,即当HomeView
显示时,数据开始加载。但是show
事件即使在
面板仍然隐藏。我该参加什么比赛
当应用程序启动时,我想发送一个ajax请求来检查用户是否登录,如果为true,则显示LoginView
隐藏和HomeView
显示。在什么情况下我应该检查这个
问题1)你应该倾听事件
每当此组件在上实际可见(绘制)时激发
屏幕。这在需要执行“读取”操作时非常有用
在DOM元素上,即:计算自然大小和定位
问题2)在事件发生时发送用于用户身份验证的ajax请求
组件初始化后激发
问题1)你应该倾听事件
每当此组件在上实际可见(绘制)时激发
屏幕。这在需要执行“读取”操作时非常有用
在DOM元素上,即:计算自然大小和定位
问题2)在事件发生时发送用于用户身份验证的ajax请求
组件初始化后激发
-第一个问题:
painted
事件看起来不错,但实际上,根据我的经验,Sencha Touch 2的当前版本中充满了可怕的bug。不要依赖其存在和文件
根据您所描述的,很明显,您希望在特定事件(授权)之后加载存储,那么在此之后触发自定义事件如何?例如:
loginForm.firevent('authenticated',this)
(或您需要的任何额外参数)
然后在控制器中,只需在loginForm
视图上收听事件authenticated
-第二个问题:
正如您所说,您希望在应用程序启动后立即运行一些进程。因此,将代码放在app.js
的launch()
函数中是正确的。很简单。-第一个问题:
painted
事件看起来不错,但实际上,根据我的经验,Sencha Touch 2的当前版本中充满了可怕的bug。不要依赖其存在和文件
根据您所描述的,很明显,您希望在特定事件(授权)之后加载存储,那么在此之后触发自定义事件如何?例如:
loginForm.firevent('authenticated',this)
(或您需要的任何额外参数)
然后在控制器中,只需在loginForm
视图上收听事件authenticated
-第二个问题:
正如您所说,您希望在应用程序启动后立即运行一些进程。因此,将代码放在app.js
的launch()
函数中是正确的。很简单。谢谢~Q1:我应该在TweetScore
中更改一些内容吗?现在它是自动加载的,就在应用程序开始时。Q2:在哪个视图中初始化()事件<代码>主视图
或登录视图
?因为我意识到LoginView是先初始化的。谢谢~Q1:我应该在TweetScore
中更改什么吗?现在它是自动加载的,就在应用程序开始时。Q2:在哪个视图中初始化()事件<代码>主视图或登录视图
?因为我知道LoginView是先初始化的。