エラーがjQueryによって生成されることはわかっています。以下のエラーを回避するために backbone.marionette アプリケーションを構築する方法はありますか?
Uncaught TypeError: Cannot call method 'show' of undefined
エラーは、領域を持つレイアウトを作成したために発生します。onRender 関数では、コレクションをロードしてフェッチを実行します。フェッチが完了したら、リージョンにデータを入力します。別のビューに切り替えると、存在しない self.content.show が原因でエラーが発生します。
var view = Marionette.Layout.extend({
template: _.template(tplPage),
className: 'customers-view',
regions:{
content: '.customers-content'
},
onRender: function(){
var self = this,
colCustomers = new ColCustomers();
colCustomers.fetch({success: function(){
self.content.show(new ViewCustomersList({collection: colCustomers}));
}});
}
});
注: 現時点では、try catch で self.content.show() をラップし、その動作を確認しています。理想的にはそれを避けます。