2014-03-12 54 views
2

我在下面獲得了此Dart腳本,並且我想在使用dart2js編譯Dart腳本之後,通過JavaScript訪問來自JavaScript的hello_world類的方法。 有人知道這是如何工作的! 我已經知道如何訪問像foo(...)這樣的函數,那不是問題,但它與類和方法的工作方式不同。 dartlang.org上的教程僅解釋如何訪問函數,而不是方法和類。 我不明白它...如何在dart2js之後使用Javascript調用dart方法

import 'dart:js' as js; 

class hello_world { 

    String hello = 'Hello World!'; 

    String getHello() { 
    print("getHello!!!!!"); 
    return hello; 
    } 

    void ausgabe() { 
    print("Hallo Welt"); 
    //return 0; 
    } 
} 

String foo(int n) { 
    print("hallo"); 

    void foo2() { 
    print("hallo2"); 
    } 

    //works 
    js.context['foo2'] = foo2; 
    return 'Hallo'; 
} 


void main() { 

    int zahl1 = 3; 
    int zahl2 = 1234; 
    String w = 'test'; 

    hello_world test = new hello_world(); 

    //works 
    js.context['foo'] = foo; 

} 
+0

我覺得訪問類和普通函數是一樣的,不是嗎?但要使用它的任何方法,你必須首先實例化一個對象 – doodeec

+0

看看這個問題http://stackoverflow.com/questions/22099483更多搜索標籤dart-js-interop –

回答

1

假設你想創建一個飛鏢方法的js函數綁定,你幾乎可以做同樣的事情:

void main() { 
    hello_world test = new hello_world(); 

    // define a 'getHelloOnTest' Js function 
    js.context['getHelloOnTest'] = test.getHello; 
} 

現在上側的js你可以使用:

getHelloOnTest(); 
相關問題