Sencha Touch - 过渡到页面

时间:2015-06-25 20:11:14

标签: extjs sencha-touch sencha-touch-2

我一直在玩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());
}

过渡的首选方式是什么?

我很想一次只向视口添加一个页面(第二种方法),但对框架来说还是一个新手,我不相信这是最好的方法。

两者之间是否存在显着差异,如果是,那是什么?

1 个答案:

答案 0 :(得分:1)

我的建议是使用第二种模式。

对于初学者来说,你不希望任何没有登录的人"能够检查"经过身份验证的"的HTML区域。此外,您不希望在单页应用程序中的任何时刻向DOM渲染更多内容。 DOM中较少的东西有助于防止性能和显示问题。