Backbone.js と Underscore.js で Require.js を使用しています。依存関係として呼び出されたときに未定義として表示されるネストされたビューがありますが、同じモジュールに 2 つのビューがある場合、それらは正常に動作します。私は何が間違っているのだろうかと思っています。次に例を示します。
child-view.js
define([
'jQuery',
'Underscore',
'Backbone',
], function ($, _, Backbone) {
var ChildView = Backbone.View.extend({
initialize: function () {
_.bindAll(this, 'render');
this.render();
},
});
return ChildView;
});
parentview.js
define([
'jQuery',
'Underscore',
'Backbone',
'src/views/child-view'
], function ($, _, Backbone, ChildView){
var ParentView = Backbone.View.extend({
initialize: function () {
_.bindAll(this, 'render');
this.render();
},
render: function () {
child = new ChildView({});
}
});
return ParentView;
});
新しい ChildView を呼び出そうとすると、「Uncaught TypeError: undefined is not a function」というメッセージが表示されます。Parentview の外側で、parentview.js の内側で ChildView を参照すると、ビューがオブジェクトとして表示されます。