2013-08-13 2 views
0

Я использую марионеточные представления с шаблонами Handlebars.Использование элементов DOM, определенных в шаблоне Handlebars, из вида Marionette

Вот посмотреть пример мой:

(function() { 

    'use strict'; 

    var root = this; 

    root.define([...], 

    function(Backbone, Tmpl) { 

     return Backbone.Marionette.ItemView.extend({ 

      initialize: function() {}, 

      template: { 
       type: 'handlebars', 
       template: Tmpl 
      }, 

      ui: {}, 

      events: {}, 

      onRender: function() { 
       var canvas = document.getElementById('stage'); 
      } 
     }); 

     }); 

}).call(this); 

В шаблоне Tmpl я создаю <canvas id="stage"></canvas>.

Сразу после загрузки этого шаблона я хочу нарисовать красивые вещи на холсте, но вот грустная вещь - canvas еще не готова! Я полагаю, что определенно должно быть какое-то событие-оболочка, которое вызывается после загрузки шаблона. Как мне переписать мой код?

ответ

2

Вам необходимо использовать onShow.

Рендер triggerMethod потока:

  1. onBeforeRender - Перед тем как вид визуализируется
  2. OnRender - После того, как .render было названо, но, прежде чем он добавляется к DOM
  3. OnShow - После того, как был добавлен к DOM
+0

Благодарим за быстрый ответ! –

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