3

実行時にページにいくつかのボタンを追加しようとしています。ボタンが作成され、containerView にプッシュされます。以下の addButtons 関数を参照してください。

コントローラーが与えられた場合:

RE.MenuController =  Em.ArrayController.extend


  addButtons: ->
    console.log "addButtons"
    container = Ember.ContainerView.create()
    container.append()

    prevButton = RE.ButtonView.create()
    container.pushObject(prevButton)

とビュー:

RE.ButtonView = Em.View.extend
  classNames: 'menuLink'
  tagName: 'button'
  templateName: 'button'

  click: (e) ->
    alert 'button clicked'

ボタンをクリックしても、予想されるアラートが表示されません。クリック イベントが発生しないのはなぜですか?

ボタンの html は次のようになります。

<button id="ember420" class="ember-view menuLink">TEST</button>

そこには data-ember-action はありません。

このアプローチを使用するか、テンプレートでアクション ヘルパーを使用する必要がありますか?

ありがとう、

マーティン

4

1 に答える 1

1

Ember.Viewイベント ハンドラー (この場合は関数) は、アプリケーションのルート要素をリッスンし、イベントを委任するclickEmber によって呼び出されます。EventDispatcherイベント ディスパッチャは、 によってのみインスタンス化されますEmber.Application。を作成していApplicationますか? そうでない場合、イベントは決してディスパッチされません。

于 2013-06-21T13:14:44.667 に答える