2012-12-30 18 views
0

我目前有2個配置文件:平板電腦和手機。 在不同的視圖中的每個配置文件加載像這樣:Sencha Touch個人資料 - 如何在實例化視圖時使用

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

因爲我認爲這是配置文件的重點。

回答

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'); 
    } 
} 
相關問題