0

私は今スティックです。次のエラーが表示されます。

TypeError: listenTo is undefined    
return listenTo.call(this, evtSource, events, _.bind(callback, context));

このエラーが発生する理由がわかりません。listenTo が何を期待しているのか本当にわかりません。に変更Backbone.Marionette.CompositeViewすると正常にBackboneView動作します。何か案は?

以下のコードを参照してください。

define([
        "jquery",
        "backbone",
        "marionette",
        ],
function($, Backbone, Marionette){

    var CompositeView = Backbone.Marionette.CompositeView.extend({
      // The DOM Element associated with this view
      el: ".example",
      // View constructor
      initialize: function() {
          // Calls the view's render method
          this.render();
      },
      // View Event Handlers
      events: {

      },

      // Renders the view's template to the UI
      render: function() {
          // Setting the view's template property using the Underscore template method
          //this.template = _.template('ddd', {});
          // Dynamically updates the UI with the view's template
          this.$el.html('123123123123123123123123');
          // Maintains chainability
          return this;
      }

    });

    // Returns the View class
    return CompositeView;
  }
);
4

2 に答える 2

2

listenToBackbone.Eventsの機能です。Backbone.View とそれに続く Marionette.View には、Backbone.Events 機能が含まれています。グローバルに定義されているかのように呼び出しています。したがって、 を取得しますlistenTo is undefined

myView.listenTo(model, 'change', myView.doSomething);のようなもので呼び出すことができます。または、現在のコンテキストがリッスンしたいビュー インスタンスである場合は、this.listenTo(object, 'eventName', this.doSomething).

于 2013-01-26T06:08:39.300 に答える