2013-05-28 76 views
0

我正在使用backbone,jquery和cordova 2.7.0構建單頁應用程序。骨幹和科爾多瓦和跟蹤導航構建單頁應用程序

我的出發頁面看起來很喜歡這個

<div id="activity-container"> 
    <form action="/login" id="login-form" onsubmit="return false;"> 
     <input id="username" type="text"/> 
     <input id="password" type="password"/> 
     <a href="#login">Sign In</strong></a> 
    </form> 
</div> 

我寫loginview如下

LoginView = Backbone.View.extend({ 
    el: $("#login-form"), 
    events: { 
     "click #login": "authenticate" 
    }, 
    authenticate: function(){ 
     new SecondView(); 
    } 
}); 

的secondview只是需要someTemplate和使用id = 「胡亞蓉容器」 專區內,然後渲染。我寫這個爲

SecondView = Backbone.View.extend({ 
    el:$("#activity-container"), 
    template: _.template($("#someTemplate").html()), 
    initialize: function() { 
     this.$el.html(this.template 
    }, 
    render: function() {   
     this.$el.html(this.template); 
     return this; 
    } 
    }); 

我只是想檢查。所以,我的模板現在是任何靜態html。防爆

<script type="text/someTemplate"> 
     <p>Anything here<p> 
    </script> 

我初始化應用程序與下面的代碼

document.addEventListener('deviceready', onDeviceReady, false); 
    function onDeviceReady() { 
      new loginView(); 
      Backbone.history.start(); 
    } 

這工作得很好。當我點擊登錄時,它會將我帶到約會視圖。現在,當我按下鍵盤上的「ESC」時,這將使我退出應用程序,而不是返回到loginview。這僅僅意味着我不能回去。我們如何解決這個問題?

我的想法是我將構建每個視圖並將它們掛接到「activity-container」div。但是,看起來這可能是個壞主意。任何人都可以建議我使用backbone和cordova構建單頁應用程序的任何開始示例嗎?

回答

0

不知道如何使用科爾多瓦任何不同,然後如何在Web瀏覽器上執行它,但我建議你在文檔中查看路由器和歷史記錄。

http://backbonejs.org/#Router

http://backbonejs.org/#History-start

還應考慮這個問題,可能是一個類似的問題:

Backbone.history.start() blocks back button from leaving the page

您也可能會考慮 window.history.back()

我想我唯一的其他可能性不清楚是如果你只是想覆蓋科爾多瓦如何對待Esc鍵。

相關問題