如何从angular dart访问现有javascript库
我试图从angular dart应用程序中访问现有的javascript库。推荐的方法是什么?类似于如何从angular dart访问现有javascript库,dart,angular-dart,Dart,Angular Dart,我试图从angular dart应用程序中访问现有的javascript库。推荐的方法是什么?类似于dart:js的东西可用吗 提前谢谢你的建议 编辑:做了一些测试。看来dart:js并不介意在angular.dart中导入(顺便说一句,我应该导入'dart:js'还是导入'package:js/js.dart'?有什么区别吗 因为在angular中,您通过模块导入javascript库,在dart中通过dart:js,如果angular dart的文档能够清晰地描述(可能有一些示例?)那就太好
dart:js
的东西可用吗
提前谢谢你的建议
编辑:做了一些测试。看来dart:js
并不介意在angular.dart中导入(顺便说一句,我应该导入'dart:js'
还是导入'package:js/js.dart'
?有什么区别吗
因为在angular中,您通过模块导入javascript库,在dart中通过
dart:js
,如果angular dart的文档能够清晰地描述(可能有一些示例?)那就太好了这个问题一定引起了很多人的兴趣。有一个库名,它在从dart访问数据和调用javascript函数方面非常好。只需使用context['property']
或context['property'].callMethod(name,[args])
现在,从javascript到dart的通信只能通过DOM或回调实现。首先是设置一些元素属性(或类)并检测dart中的更改。回调工作得更好,您需要从参数中的dart传递函数调用javascript函数
//js
函数bindEvent(eventName,cb)
{
//调用省道函数
cb(“触发事件:+eventName”);
}
//省道
void onJsEvent(对象o,字符串消息)
{
打印(“使用this=$o和message=$message调用回调”);
}
var callback=newjsfunction.withThis(onJsEvent);
callMethod(“bindEvent”,“myEvent”,callback]);
我认为您将很难映射角度,因为它使用了许多自定义对象。Dart Js通信仅适用于原语、映射
{}
和数组[]
可能应该删除angularjs标记,因为这在这里不适用。此外,考虑扩展你的问题,包括你想要访问的库,更广泛地说,你要完成的任务。(1)我恐怕没有办法去做我在角镖上要做的事情,所以我在(公认地,远程的)案例中标注“角度”,还有其他的、基于DART的方法来完成它(2)。问题是关于一般方法,而不是任何特定的库。现在不仅支持原语、映射{}和数组[],还支持多种类型的传输。请参阅代理和自动转换部分。我的理解是,您的答案适用于省道,而不是角省道。我错了吗?如果是这样,你能在angular dart的文档中提供一个参考吗?好的,那么你的意思是说dart:js可以从angular dart中使用?对不起,我没早点知道。是的,我的答案是关于飞镖的。事实上,你们使用角镖并没有改变任何事情。当任何自定义对象抛出unknownjavascriptobject时,我必须使用旧版本的lib。谢谢Alexandre的点评。