我一直在玩Sencha Touch 2,并且遇到了两种在页面之间转换的方式(例如从Home到Login)。
单向:
app.js:
launch: function() {
var loginPage = {
xtype: 'loginview'
};
var homePage = {
xtype: 'homeview'
};
Ext.Viewport.add([loginPage, homePage]);
}
控制器/ Home.js
onLogOff: function() {
...
var loginPage = this.getLoginView();
Ext.Viewport.animateActiveItem(loginPage, this.slideRight);
},
slideRight: {
type: 'slide', direction: 'right'
}
另一种方式:
app.js:
launch: function() {
var loginPage = {
xtype: 'loginview'
};
Ext.Viewport.add(loginPage);
}
控制器/ Home.js
onLogOff: function() {
...
var loginPage = { xtype: 'loginview' };
Ext.Viewport.add(loginPage);
Ext.Viewport.remove(this.getHomeView());
}
过渡的首选方式是什么?
我很想一次只向视口添加一个页面(第二种方法),但对框架来说还是一个新手,我不相信这是最好的方法。
两者之间是否存在显着差异,如果是,那是什么?
答案 0 :(得分:1)
我的建议是使用第二种模式。
对于初学者来说,你不希望任何没有登录的人"能够检查"经过身份验证的"的HTML区域。此外,您不希望在单页应用程序中的任何时刻向DOM渲染更多内容。 DOM中较少的东西有助于防止性能和显示问题。