Sencha Touch配置文件 - 实例化视图时的使用方法

时间:2012-12-30 17:48:31

标签: sencha-touch sencha-touch-2

我目前有2个个人资料:平板电脑和手机。 每个配置文件都加载在不同的视图中,如下所示:

Ext.define('Myapp.view.tablet.Login', {
    extend: 'Ext.Panel',
    alias: 'widget.loginview',
    ...
}

但是在app bootstrap代码中,我有以下几行:

 var loginView = Ext.create('MyApp.view.Login')
 Ext.Viewport.add(loginView);

这不起作用,因为我的观点现在被个人资料拆分。我现在如何请求配置文件加载的登录视图?我不想这样做:

 var loginView = Ext.is.os.Phone? Ext.create('MyApp.view.phone.Login') : Ext.create('MyApp.view.tablet.Login')

因为我认为这是个人资料的重点。

2 个答案:

答案 0 :(得分:0)

这不是您应该如何检测个人资料。

在这里查看我的答案:Loading different views for different profiles

希望这有帮助

答案 1 :(得分:0)

您可能应该定义依赖于配置文件中的活动配置文件的所有视图。 典型的简单配置文件如下所示:

Ext.define('yourapp.profile.Phone', {
    extend: 'Ext.app.Profile',
    config: {
        name: 'Phone',
        controllers: ['YourController'],
        views: ['Login'] // the MyApp.view.phone.Login view will be used if Phone profile is active
    },
    isActive: function() {
        return Ext.os.is('Phone');
    }
}