0

以前,我制作了一个用于处理切换按钮的主干视图:

Star = Backbone.View.extend({
  events: {
    'click': 'toggle'
  },

  toggle: function() {
    this.$('i').toggleClass('icon-star').toggleClass('icon-star-empty');
  },

  status: function() {
    return this.$el.hasClass('active');
  }
});

我在我的视图中使用了这个子视图,如下所示:

initialize: function() {
    var star = new Star({ el: this.$('.new .btn.star') });
    // ...
}

这样我可以在骨干网的许多其他独立视图中重用这个子视图。(仅供参考:我不是骨干专家。此代码也可能是错误的。如果错了,请纠正我。)

现在我正在尝试学习 Backbone.Marionette,但我找不到完成相同功能的好方法。如何在我的 ItemViews 和/或 CompositeViews 中使用这个视图?

4

1 回答 1

1

您可以保持完全相同的想法,只需扩展(例如)木偶ItemView

Star = Marionette.ItemView.extend({...});

接着

var star = new Star({ el: this.$('.new .btn.star') });

另一种选择是extend您的Star观点:

MyView = Star.extend({...});
于 2013-07-27T07:20:53.517 回答