1

次のようなコレクションビューを定義しました

HexGridNonEditableCollectionView = Backbone.Marionette.CollectionView.extend({
                itemView : HexGridNonEditableItemView,
                tagName : 'tr',
                className : 'hexgrid-view'
            });

上記のコレクションビューのインスタンスを作成することにより、このコレクションビューを他のレイアウトで使用します

CollectionViewのインスタンスを作成するレイアウトのcollectionviewで指定されたclassNameを追加または削除したいと思います。

これを行う方法。

4

1 に答える 1

2

className はメソッドが呼び出される前に設定する必要があるinitializeため、残念ながら、ビューが作成された後にクラスに影響を与える方法はありません

$el1つの解決策は、属性を変更することですonRender(またはそのことについては他の場所)

ビューを作成するときに className を設定することをお勧めします。したがって、作成後にビューに影響を与えることはできませんが、少なくともコンポーネントを再利用することはできます

var view = new HexGridNonEditableCollectionView({
   collection: someCollection,
   className: 'hexgrid-view2'
});

コンストラクターパラメーターのそのclassNameプロパティを変更するだけで、準備完了です

于 2013-08-14T12:47:12.380 に答える