2011-12-20 95 views
3

我發展與Backbone.js的和JQM的應用程序,但我有方法的問題沒有被解僱。
這是我的代碼:Backbone.js的和JQuery移動路由器

class HomeView extends Backbone.View 
    constructor: -> 
    super 

    @el = app.activePage() 

    console.log(@el) 

    @template = _.template(''' 
     <div> 

     <ul data-role="listview" data-theme="c" data-filter="true"> 
     <% venues.each(function(venue){ %> 
      <li><a href="#home"><%= venue.getAbstract() %></a></li> 
     <% }); %> 
     </ul> 

     </div> 
    ''') 

    @render() 

    render: => 
    @el.find('.ui-content').html(@template({venues : Venues}))  
    app.reapplyStyles(@el) 

class HomeController extends Backbone.Controller 
    routes : 
    "#venues-:cid" : "show" 
    "#home" : "home" 

    constructor: -> 
    super 
    @_views = {} 

    home : -> 
    console.log("home") 
    @_views['home'] ||= new HomeView 

    show: (cid) -> 
    console.log("show") 
    @_views["venues-#{cid}"] ||= new ShowVenueView { model : Venues.getByCid(cid) } 

設置爲#home的路線,它不會被調用。
但是,如果我將它設置爲剛剛回家,同時禁用AJAX和hashListening這樣

$.mobile.ajaxEnabled = false; 
    $.mobile.hashListeningEnabled = false; 

把我帶到一個404頁面未找到。
這有什麼問題?

+0

從我讀過的內容來看,JQM和Backbone在散列標記方面的工作方式有些不同。你有沒有試過這個:https://github.com/azicchetti/jquerymobile-router – PhillipKregg 2012-02-24 03:44:38

+1

在意識到jQuery手機開發移動優化的Web應用程序的可怕選擇之前,我遭受了很多痛苦。 BackboneJS可以處理jQuery移動的所有功能,並且可以使用更輕的框架以及更少的突出代碼。這是一個很好的起點:http://trigger.io/cross-platform-application-development-blog/2012/03/02/how-to-build-fast-html5-mobile-apps-using-backbone-js- zepto-js-and-trigger-io/ – eschwartz 2012-04-13 18:12:42

回答