Backbone.js и JQuery Mobile Router - PullRequest
       26

Backbone.js и JQuery Mobile Router

3 голосов
/ 20 декабря 2011

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

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

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

Приводит меня к странице 404, не найденной.
В чем проблемас этим?

1 Ответ

0 голосов
/ 05 июля 2012

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

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

...