2011-12-20 4 views
3

Я разрабатываю приложение с Backbone.js и JQM, но у меня проблемы с запущенными методами.
Это мой код:Backbone.js и JQuery Mobile Router

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, не дозвонились.
Однако если установить его только дома, и отключить оба Аякса и hashListening как этот

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

приносит мне 404 страница не найдена.
В чем проблема?

+0

Из того, что я читал, есть некоторые отличия в том, как JQM и Backbone работают с тэгами хэша. Вы пробовали это: https://github.com/azicchetti/jquerymobile-router – PhillipKregg

+1

Я испытал много боли, прежде чем осознать, какой ужасный выбор jQuery mobile предназначен для разработки мобильных приложений с оптимизированной для мобильных устройств. 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

ответ

0

Я использовал рисунок, описанный здесь: http://coenraets.org/blog/2012/03/using-backbone-js-with-jquery-mobile/.

Очень короткий, очень эффективный и самый важный - он работает.

+2

вы должны разместить часть контента в ссылке. Если ссылка evers терпит неудачу, то это не будет полезно для других пользователей. – Taryn

Смежные вопросы