2015-06-25 4 views
1

Я играл с Sencha Touch 2 и сталкивался с двумя способами перехода между страницами (например, от дома до входа в систему).Sencha Touch - переход на страницы

Один из способов:
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

Моим советом было бы использовать второй образец.

Во-первых, вы не хотите, чтобы кто-либо, кто не «вошел в систему», смог проверить HTML-адрес «аутентифицированной» области. Также вы не хотите отображать больше для DOM, чем в любой момент в одностраничном приложении. Меньше всего в DOM поможет предотвратить проблемы с производительностью и отображением.