2016-06-23 3 views
1

最新のパッケージ:jsを使用して、Dartの特定のhtml要素/ Webコンポーネントに関連付けられているJS関数を呼び出すにはどうすればよいですか?Dartの特定の要素に関連付けられているJS関数をどのように呼び出しますか?

例:OnsenUIとして知られているサードパーティ製のフレームワークでは、私はHTMLで

<ons-alertdialog id='blah'> 
    Test 
</ons-alertdialog> 

を置くことによって、アラートダイアログを作成することができています。さらに、私は、document.querySelect( 'blah')を介してOnsenUIが提供するこのalertdialogのメソッドにアクセスできます。show({options});または document.querySelect( 'blah')。javascriptのhide({options})。ですから私の質問は、Dartのshow/hideメソッドにアクセスするためには何をしなければならないのですか?ここで

はJavaScriptで自分のコードです: https://github.com/OnsenUI/OnsenUI/blob/master/core/src/elements/ons-alert-dialog/index.js

ここtypescriptですとangular2での指示されています https://github.com/OnsenUI/OnsenUI/blob/master/bindings/angular2/src/directives/ons-alert-dialog.ts

私の究極の目標は、彼らがtypescriptですとangular2で行われますがangular2ダーツを使用しているものを模倣することです。しかし、私はthis._onsAlertDialog.show()を直接呼び出すことはdart:jsコンテキストを使用せずに動作するとは思わないので、以下でDartを使用して実装する方法がわかりません。

/** 
    * @method show 
    * @signature show() 
    * @return Promise<any> 
    */ 
    show() { 
    return this._onsAlertDialog.show(); 
    } 

    /** 
    * @method hide 
    * @signature hide() 
    * @return Promise<any> 
    */ 
    hide() { 
    return this._onsAlertDialog.hide(); 
    } 

おかげJS pacakageあなたは注釈付きのJavaScript APIをミラーダートクラスを作成することができます使用

+0

コンテキストを使用する際の問題は何ですか?私が認識している唯一のアプローチは、コンテキストオブジェクトを活用することです。 – BeatingToADifferentRobot

答えて

0

。たとえば、次のように今、あなたが書いた場合

@JS('google.maps') 
library maps; 

@JS() 
class Map { 
    external Map(Location location); 
    external Location getLocation(); 
} 

ダート:

var l = getLocation(); 
var m = new Map(l); 

それはJavaScriptにequivilentされます。

var l = google.maps.getLocation(); 
new google.maps.Map(l); 

あなたは彼らのAPIや使用上のこれらのクラスを作成する必要があるだろうコンテキストオブジェクト

関連する問題