3

骨干视图事件块绑定完美且令人敬畏,直到您在元素上调用引导方法。假设您认为这是:

events: { 'click .menu li.edit': '_doSomething' }

然后稍后你有一个引导程序:

$('.menu', this.$el).dropdown('toggle');

bootstrap.js 中有一行:

var $el = $(element).on('click.dropdown.data-api', this.toggle)

...杀死主干绑定事件。

人们是如何处理这个问题的?我宁愿继续以“骨干方式”做事。我讨厌在应用程序“引导方式”和其他“主干方式”中处理某些事情。我喜欢一致性。

想法?

4

1 回答 1

0

我实际上只是使用了底层的 Backbone 样式。

例如,我的下拉菜单使用 Backbone 类,但没有使用任何链接数据属性。在我看来,我触发了主干.js 会完成的样式更改。

class App.Views.Articles.Index.Controls extends Backbone.Marionette.Layout
  template: JST['articles/index/controls']

  regions:
    pager: '#pager'

  ui:
    search_text: '#search-text'
    add_dropdown: '#add'
    add_dropdown_menu: '#add-dropdown-menu'

  events:
    'click #search-button': 'doSearch'
    'click #add': 'toggleAddDropDown'



  toggleAddDropDown: (event) ->
    event.stopPropagation()
    if @ui.add_dropdown.hasClass('open')
      @ui.add_dropdown_menu.fadeOut('fast')
      @ui.add_dropdown.removeClass('open')
    else
      @ui.add_dropdown.addClass('open')
      @ui.add_dropdown_menu.fadeIn('fast')
于 2014-11-10T22:41:33.563 回答