0

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

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

但是在应用程序引导代码中,我有以下几行:

 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')

因为我认为这是拥有个人资料的全部意义。

4

2 回答 2

0

这不是您应该检测配置文件的方式。

看看我的答案:为不同的配置文件加载不同的视图

希望这可以帮助

于 2012-12-30T18:14:11.583 回答
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');
    }
}
于 2013-08-19T14:03:02.343 回答