12

マリオネット複合ビューテンプレートにパラメータを取り込む方法はありますか?ビューを初期化したパラメータはすべてテンプレートで使用できると思いましたが、機能していないようです。

Views.myView = Marionette.CompositeView.extend({
  template: '#myView',
  otherstuff...
});


var collection = new App.Collection(); 
App.main.show(new Views.myView({
  collection: collection,
  isMine: true
}));

レンプレート:

<%= isMine %> 

そして、テンプレートがレンダリングされるときisMineは未定義です:

4

3 に答える 3

6

これを理解するために、freenode チャットルームで brian-mann の助けを借りました。serializeDataビューに値を渡しましたが、メソッドをオーバーライドして、それをプロパティとして実際のテンプレートに送信する必要があります。

また、デフォルトを true に設定するためのチェックも行うので、値を渡したくない場合は値を渡す必要はありません。

Views.myView = Marionette.CompositeView.extend({
  template: '#myView',
  serializeData: function() {
      var viewData = {};
      viewData.isMine = this.options.isMine === undefined ? true : this.options.isMine;
      return viewData;
    },
  otherstuff...
});
于 2013-01-18T20:51:19.900 に答える
-3

ビュー「model: {isMine:true}」のモデル プロパティを設定できます。

于 2013-01-19T12:17:33.567 に答える