calling javascript from Dart

后端 未结 2 1933
无人及你
无人及你 2020-12-09 11:23

i was able to fire off an alert message from dart, but couldn\'t figure out how to call a function I wrote in another js file from dart. This would have been a great sellin

相关标签:
2条回答
  • 2020-12-09 11:40

    Maybe my answer will be worth it for somebody, so that's why I'm posting a simple JS function call from Dart.

    1. Add the js package dependency:
      dependencies:
        js: any
      
    2. Create a JS file, let's say example.js:
      function test() {
        return 12+20;
      }
      
    3. Add the example.js above inside index.html with the <script src="..."> tag.
    4. Interop the function above from JS to Dart:
      @JS()
      library t;
      
      import 'package:js/js.dart';
      
      @JS()
      external int Test();
      
      class MyOwn {
        int get value => Test();
      }
      
    5. And, in AngularDart's TODOLIST — which is default component available —:
      @override
      Future<Null> ngOnInit() async => print(MyOwn().value);
      
    0 讨论(0)
  • 2020-12-09 11:50

    First add the js package as dependency in your pubspec.yaml :

    dependencies:
      js: any
    

    Then you can use your own js function myFunc() like that :

    import 'package:js/js.dart' as js;
    
    main() {
      js.context.myFunc();
    }
    

    js.context is an alias to javascript window.

    See Using JavaScript from Dart: The js Library for more details.

    0 讨论(0)
提交回复
热议问题