【发布时间】:2016-06-23 10:21:43
【问题描述】:
使用最新的packages:js,如何在Dart中调用与特定html元素/web组件相关联的JS函数?
示例:在称为 OnsenUI 的第三方框架中,我可以通过放置来创建警报对话框
<ons-alertdialog id='blah'>
Test
</ons-alertdialog>
在 html 中。此外,我可以通过 document.querySelect('blah').show({options}); 访问 OnsenUI 提供的此警报对话框的方法。或者 javascript 中的 document.querySelect('blah').hide({options})。所以我的问题是我必须做什么才能访问 Dart 中的显示/隐藏方法?
这是他们的 javascript 代码: https://github.com/OnsenUI/OnsenUI/blob/master/core/src/elements/ons-alert-dialog/index.js
这是他们在 angular2 中使用 typescript 的指令: https://github.com/OnsenUI/OnsenUI/blob/master/bindings/angular2/src/directives/ons-alert-dialog.ts
我的最终目标是模仿他们在 angular2 中使用 typescript 但使用 angular2 dart 所做的事情。但是,我不确定如何使用 Dart 在下面实现,因为我不认为直接调用 this._onsAlertDialog.show() 会在不使用 dart:js 上下文的情况下工作。
/**
* @method show
* @signature show()
* @return Promise<any>
*/
show() {
return this._onsAlertDialog.show();
}
/**
* @method hide
* @signature hide()
* @return Promise<any>
*/
hide() {
return this._onsAlertDialog.hide();
}
谢谢
【问题讨论】:
-
使用上下文有什么问题?我知道唯一可行的方法是利用上下文对象。
标签: dart dart-js-interop