0

coffeescript で記述されたバックボーン ビューの仕様テストを行っています。

私はこのビューを持っています

class Test.Views.MainView extends Backbone.View
  el: $('ul')
  initialize: ->
    @collection.on 'add', @render

そして、これが私の仕様ファイルです

  beforeEach ->
    @collection = new Test.Collections.Services([{name:'test'}, {name:'build'}])
    @main_view = new Test.Views.MainView
      collection: @collection

仕様を実行すると、このエラー メッセージが表示されました

TypeError: this.collection is undefined

コレクションが仕様からビューに割り当てられないのはなぜですか?

コンパイルされた JavaScript:

  1. view.js

    Test.Views.MainView = (function(_super) {
        __extends(MainView, _super);
    
        function MainView() {
          this.render = __bind(this.render, this);
          _ref = MainView.__super__.constructor.apply(this, arguments);
          return _ref;
        }
    
        MainView.prototype.el = $('#main');
    
        MainView.prototype.initialize = function() {      
          this.collection.on('change', this.render); //this line generates the error     
        };
    
  2. 仕様

    beforeEach(function() {
      this.collection = new Test.Collections.Services([{name:'test'}, {name:'build'}]);
      return this.main_view = new Test.Views.MainView({
        collection: this.collection
      });
    });
    
4

0 に答える 0