[英]When calling dart compiled Javascript from javascript how do I pass in a callback function into dart compiled Javascript?
我正在嘗試將我的項目逐步轉換為飛鏢。 我已經將一個獨立的庫轉換為Dart,我在我的項目中使用了Dart編譯的javascript。 感謝我在其他問題上的幫助。 我可以調用Dart編譯的javascript函數。 現在我面臨另一個難題。 如果我的Dart函數需要回調,我如何將Javascript函數傳遞給Dart生成的javascript函數?
我想要做的是從Javascript注冊一個Dart事件處理程序,例如:
在我的Dart中,我有事件總線,dart對象可以通過以下方式注冊事件處理程序:
bus.on('eventName', callbackFunc);
和Dart對象通過以下方式觸發事件:
bus.fire('eventName', data);
我將公交車暴露給Javascript世界,通過:
js.context['registerEvent'] = bus.on;
在Javascript中,我想打電話
registerEvent('someEvent', function() { console.log('JS callback' });
注冊事件處理程序,當Dart對象觸發事件時,將調用JS回調。
你可以嘗試將它作為參數傳遞給Dart並使用param.apply([])
調用它
從你上一個問題,
js.context["sayGreeting"] = (message) {
print("greeting: $message");
};
// pass js function which is already defined above.
someJsObject.callMethod('someOriginalJsFunction', [js.context['sayGreeting']]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.