0

ここで見つけた Ember のカスタム イベントを使用するときに、引数を渡す方法が見つかりませんでした。「バブリング」を失うため、このような「親」ビューを具体的に対象とするソリューションは避けることを好みます。

私の使用法は次のとおりです

plugins.js

Em.Object.reopen({
    triggerEvent: function (eventName) {
        this.$().trigger(eventName, this);
    }
});

MyView.js

クリック: 関数 () {

   this.triggerEvent('stepClicked'); 

}

Ember (0.96+) のコードは、追加のパラメーターを渡すことはマネージャーと見なされ、渡されないことを示しています。

rootElement.delegate('.ember-view', event + '.ember', function(evt, triggeringManager) {
    ...
    if (manager && manager !== triggeringManager) {
          result = self._dispatchEvent(manager, evt, eventName, view);
    } else if (view) {
          result = self._bubbleEvent(view,evt,eventName);
     }

よろしくお願いします、
Oren Rubin

4

1 に答える 1

0

どの要素がクリックされているかを知らせるイベント オブジェクトを渡すことができます。

click: function(event){     
  // will be called when when an instance's     
  // rendered element is clicked
  console.log("element clicked: " + this.get('elementId') );
  return false; // return true if you want the click event to bubble up to parent view (default it true)
}

{{action}}テンプレートで使用するのがさらに良い方法だと思います。例として、この回答を見てください。

于 2012-12-10T23:47:13.157 に答える