如何在dart2js之后从Javascript调用dart方法

时间:2014-03-12 12:36:29

标签: dart dart-js-interop

我在下面得到了这个Dart脚本,我想用dart2js编译Dart脚本后,通过JavaScript访问类hello_world中的方法。 有谁知道这是如何工作的?! 我已经知道如何访问像foo(...)这样的函数,这不是问题,但它对类和方法的作用不同。 dartlang.org上的教程只解释了如何访问函数,而不是方法和类。 我不明白......

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;   

}

1 个答案:

答案 0 :(得分:1)

假设你想在Dart方法上创建一个Js函数绑定,你几乎可以做同样的事情:

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

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

现在在Js方面你可以使用:

getHelloOnTest();