【问题标题】:Using DOM elements defined in Handlebars template from Marionette view从 Marionette 视图使用 Handlebars 模板中定义的 DOM 元素
【发布时间】:2013-08-15 06:36:36
【问题描述】:

我正在使用带有 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 还没准备好!我想肯定应该有一些包装事件,在加载模板后调用。我应该如何重写我的代码?

【问题讨论】:

    标签: javascript dom backbone.js marionette backbone-views


    【解决方案1】:

    您需要使用onShow

    渲染triggerMethod流:

    1. onBeforeRender – 在视图渲染之前
    2. onRender - 在 .render 被调用之后,但在它被添加到 DOM 之前
    3. onShow - 将视图添加到 DOM 之后

    【讨论】:

    • 感谢您的快速回答!
    猜你喜欢
    • 1970-01-01
    • 2012-08-11
    • 2013-02-03
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    相关资源
    最近更新 更多