0

ItemView の 2 つのインスタンスを異なる領域にレンダリングしようとしています。これを行うと、JavaScript が動作するリージョンが 1 つだけ表示されます。どちらのインスタンスにも html 要素があります。

両方ともレイアウトである 2 つのファイルがあります。ワンコール

 var monthView = new CalendarView({ parentDivName: "full_screen" });
 App.mainRegion.show(monthView);

他の呼び出し:

  var monthView2 = new CalendarView({ parentDivName: "full_screen22" });
  App.datePickerRegion.show(monthView2);

ItemView 内の JavaScript を表示できる同じページに ItemView の 2 つのインスタンスがレンダリングされる場所で共有できるフィドルを持っている人はいますか? それとも、私はこれについてすべて間違っていますか?同じ ItemView の複数のインスタンスを作成するより良い方法はありますか?

4

1 に答える 1

1

これは有効なコードであり、ItemView の複数のインスタンスをレンダリングするための有効なアプローチであるため、問題はコードの他の場所にあると思います。これ以上コードがなければ、何が問題なのかを正確に把握するのは困難です。確認すべきことの 1 つは、その領域の 1 つで何かをレンダリングしようとする前に、レイアウトがレンダリングされていることです。これは、あなたが何をしようとしていると私が思うかを示す簡単なjsfiddleです: http://jsfiddle.net/craigjennings11/jxu9j/

var Layout = Backbone.Marionette.Layout.extend({
    el: '.layout',
    template: _.template('<div class="view1"></div><div class="view2"></div>'),
    regions: {
        view1: '.view1',
        view2: '.view2'
    }
});
于 2013-09-26T20:39:29.413 に答える