2014-02-28 45 views

回答

2

使用JS interop,您可以從Dart調用Javascript,並從Javascript調用Dart。

要從Javascript調用Dart,您首先需要註冊您希望Javascript有權訪問的函數。也可以在JS和Dart之間傳遞基元,反之亦然。

import 'dart:html'; 
import 'dart:js' as js; 

void main() { 
    js.context["myFunc"] =() { 
    print("called from javascript"); 
    }; 

    js.context["sayGreeting"] = (message) { 
    print("greeting: $message"); 
    }; 
} 

然後從Javascript,你可以叫你註冊的功能:

myFunc(); // prints 'called from javascript' 
sayGreeting("Hello"); // prints 'greeting: Hello' 
+0

太好了!謝謝您的幫助。 – kzhdev

+0

在JavaScript中導出dart函數可以工作,但公開的函數可能與來自其他庫(具有相同名稱)的函數衝突。可以將這些導出的函數轉換爲一個Javascript對象?所以在Javascript中,我可以調用myClass.myFunc()。 – kzhdev