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:
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 };
仕様
beforeEach(function() { this.collection = new Test.Collections.Services([{name:'test'}, {name:'build'}]); return this.main_view = new Test.Views.MainView({ collection: this.collection }); });