2

以下の Dart Script を取得しました。dart2js で Dart Script をコンパイルした後、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;   

}
4

1 に答える 1

1

Dart メソッドで Js 関数バインドを作成すると仮定すると、ほぼ同じことができます。

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

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

Js側で使用できるようになりました:

getHelloOnTest();
于 2014-03-12T13:53:56.693 に答える