2013-07-31 3 views
0

Итак, у меня есть веб-приложение, которое направляется от кнопки входа в панель управления, где я запускаю функцию initialize(), которая содержит блок document.ready(). Проблема в том, что на основе route кажется, что блок document.ready() не запускается. Вот некоторые код clearify:Backbone.marionette: jQuery document.ready не работает на маршруте

Вот событие, с моей точки зрения целевой страницы:

events: 
    'click .pure-menu .signin': 
    () -> 
     application.router.navigate('dash', {trigger: true}) 

Это затем направляет заявление на мой взгляд, приборная панель:

module.exports = class DashView extends Backbone.Marionette.ItemView 
    id: 'dash-view' 
    template: template 

    initialize: -> 

     $ -> 
      $(".gridster ul").gridster(
       widget_margins: [10, 10] 
       widget_base_dimensions: [140, 140] 
      ) 

Где есть блок JQuery document.ready() с некоторым кодом, который будет запускаться после загрузки dom.

Я использую библиотеку Gridster, но когда маршрут страницы этот код не запускается, поскольку сетки Gridster не инициализируются.

Когда я обновляю страницу, каждая вещь работает должным образом.

Мое предположение, что при маршрутизации страницы jQuery не получает событие «dom loaded», поэтому блок не выполняется? Я не уверен. Любая помощь будет оценена по достоинству.

И чтобы решить, используя хак, кто-нибудь знает, как направить в магистраль с обновлением страницы?

+0

Что добавляет '.gridster ul' в DOM? –

+0

В настоящее время они добавляются как неупорядоченный список в шаблоне, а затем библиотека сетки инициализирует их в моей функции 'initialize' –

ответ

2

Я думаю, вы должны добавить свой код в методе onDomRefresh вместо initialize.

Инициализация вызывается, как только создается представление, и поэтому элемент вида не помещается в DOM в то время, тогда как onDomRefresh запускается после визуализации представления, был показан в DOM или был повторно - он может удовлетворить ваши потребности.

Вы можете проверить это в документации: Marionette's view

+0

Это сделало это, спасибо! –