2016-08-22 8 views
0

私は2つのカスタムコントロールを持っています。コントロールAはBをインスタンス化した後2つのカスタムコントロール間のイベント処理

b.attachEventName(function(event, data){ ... }) 

を呼び出すことにより、コントロールBにイベントハンドラをアタッチします。コントロールBは、クリックに反応し、このような何か行うことによって、関連するイベントを発生

:私はオブジェクトへのアクセスを持っていないことを確認し

this.fireEventName({ key: value }); 

を、私はの焼成にパラメータとして与えましたイベントを作成します。どのようにしてそのオブジェクトにアクセスできますか?

PS:明確化のために:私は、コントロールBと、特定のイベントに異なる機能を付けたいかもしれないBを使用する異なるコントロールを再利用したい。

おかげで、 クリスチャン

答えて

0

問題は、あなたがコントロールにイベントをアタッチするために使用している構文です。

あなたがイベントを発射するとき、イベントオブジェクトと一緒にオブジェクトを渡したい場合は、コードは次のようになります。これが何をすべき

b.attachEventName(oData, function(oEvent){ 
    // your stuff 
}); 
+0

しかし、私はイベントを焼成することにより、データを送信します。今私の解決策は、コントロールAからコントロールBに関数を与え、関数thisをthis.attachEventName(object、functionFromClassA)でイベントにアタッチした後、直接イベントを発生させることです。 –

+0

あなたは 'this.fireEventName({key:value});でイベントを発生させてもデータを送信できます。 – Dopedev

0

b.attachEventName(function(event, data) { 
    var sKey = event.getParameter("key") 
}); 

二番目のパラメータdataこの機能で上記のDopedevによってイベントリスナーを登録するときに渡す可能性のあるデータです。

BR クリス