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 に答える