dart - 如何从 angular dart 访问现有的 javascript 库

标签 dart angular-dart

我正在尝试从 angular-dart 应用程序中访问现有的 javascript 库。推荐的方法是什么?类似于 dart:js可用的?

提前感谢您的任何想法。

编辑:做了一些测试。看来 dart:js不介意在 angular.dart 中导入(顺便说一句,我应该是 importing 'dart:js' 还是 'package:js/js.dart'?有什么区别,如果有的话?)。

因为在 Angular 中,您通过模块导入 javascript 库,在 dart 中通过 dart:js ,如果 angular-dart 的文档能够清楚地解决(也许有一些例子?)这个问题,这将是很多人感兴趣的问题。

最佳答案

正好有库名dart:js它在访问数据和从 dart 调用 javascript 函数方面非常好。只需使用 context['property']context['property'].callMethod(name, [args]) .

从 javascript 到 dart 的通信现在只能通过 DOM 或回调来实现。首先是关于设置一些元素属性(或类)并检测 dart 的变化。回调工作得更好,您需要从参数中的 dart 传递函数调用 javascript 函数。

//js
function bindEvent ( eventName, cb )
{
    //call dart function
    cb( "Triggering event: " + eventName );
}

//dart
void onJsEvent( Object o, String message )
{
    print("Callback called with this = $o and message = $message");
}

var callback = new JsFunction.withThis( onJsEvent );
context.callMethod("bindEvent", [ "myEvent", callback ]);

我认为您将很难映射角度,因为它使用了很多自定义对象。 Dart-Js 通信仅适用于原语、 map {}和数组 [] .

关于dart - 如何从 angular dart 访问现有的 javascript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20503911/

相关文章:

flutter - 如何将 Future<bool> 转换为 Stream<bool>

forms - 如何自定义 TextFormField 标签动画?

dart - 使用Angular Dart使用WebSockets/服务器发送事件

get - 尝试在Angular Dart中提出一个简单的http get请求

dart - AngularDart中角度组件的错误应用程序布局组件

flutter - 当我将 better_player flutter 包添加到 pubspec.yaml 中的依赖项时,应用程序无法运行

flutter - 如何在绘制之前知道小部件的大小?

css - Angular 2 Dart : How to add body class from inside component?

dart - 为什么更新 ListView 中使用的 List<StatefulWidget> 无法更新显示?

firebase - Firebase在AngularDart项目中引发错误