2012-12-12 44 views
10

我能夠從dart發出警告消息,但無法弄清楚如何調用我在dart的另一個js文件中編寫的函數。如果這是直截了當的,這將是一個很好的賣點。我確實看到this post,這讓我開始了,但我覺得必須有一種方式,所以如果你想出來,請分享愛。從Dart調用javascript

這裏是我做了什麼:

  1. 一下添加到YAML文件:

    相關性: JS: 主辦:JS

  2. 添加import語句鏢文件的頂部:將'package:js/js.dart'作爲js;

  3. 添加的這段代碼來顯示警報消息

    js.scoped((){ js.context.alert() 「雀躍!」; });

  4. 這裏的,我認爲應該工作,但沒有部分:因爲我有一個JavaScript函數DoSomething的(),我應該能夠調用

    js.context.doSomething();

回答

10

首先添加js package作爲依賴於你的pubspec.yaml

dependencies: 
    js: any 

然後你可以使用自己的js函數myFunc()這樣的:

import 'package:js/js.dart' as js; 

main() { 
    js.context.myFunc(); 
} 

js.context是一個別名爲JavaScript window

查看Using JavaScript from Dart: The js Library瞭解更多詳情。

+1

而導入時,我們應該指定上述代碼工作的前綴:'import'package:js/js.dart'as js;' –

+0

感謝您的建議。我編輯了答案。 –

+0

什麼是js:0.0.13,它與js有什麼不同:any – BraveNewMath