2011-12-20 13 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するルートを設定し、それが呼び出されていません。私はちょうど家にそれを設定している場合しかし
、この

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

のようにAJAXとhashListeningの両方を無効にするには、見つからない404ページに私をもたらします。
この問題は何ですか?

+0

私が読んだところでは、JQMとBackboneがハッシュタグで動作する方法にいくつかの違いがあります。これを試してみましたか:https://github.com/azicchetti/jquerymobile-router – PhillipKregg

+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

答えて