NativeScriptでUIプラグインのカスタムイベントを定義するためには何が必要ですか?私は基本的にやったことはつまるところNativeScript UIプラグインにカスタムイベントを追加する方法
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:fooplugin="nativescript-foo-plugin">
<StackLayout>
<Button text="Tap Me!" tap="{{ onTap }}" />
<fooplugin:FooPlugin foo="{{ onFoo }}" />
</StackLayout>
</Page>
:
私は何を達成しようとしていることButton
上tap
イベントに似ていますし、次のようにフックすることができfoo
イベントをトリガすることですプラグインコード(メモリリークの考慮を無視する)内からfoo
のeventName
値とnotify
関数を呼び出す:
import * as view from 'ui/core/view';
export class FooPlugin extends view.View {
constructor() {
super();
setTimeout(() => {
this.notify({
eventName: 'foo',
object: this,
});
// also tried this._emit('foo');
}, 1000);
}
}
がSで私が行方不明で、私がこの仕事をするために必要とする何か他のもの?
で
on
-functionをオーバーロードするための基準は、外this' 'を参照してくださいように、それはあなたが新しい変数を作ることができましたsetTimeoutメソッド。たとえば、次のようにします。 '' 'var that = this; setTimeout(()=> { that.notify({ eventName: 'foo'、 オブジェクト:そのうち、 }); '' '。" http://stackoverflow.com/questions/111102/how-do-javascript -closures-work –私はそれを行うことができましたが、ES6の矢印構文を使用しているので、コンテキストが自動的に処理されるので、その必要はありません。 – Merott