2016-03-28 2 views
2

Outlook Office365用のアドインを作成しました。電子メールから情報を取得するためにoffice.jsを使用しました。dart(new dart-js-interop)のjsからネストされたオブジェクトを処理する方法

dart.js例:

js.context['Office']['context']['mailbox']['userProfile']['emailAddress'] 

または

js.context['Office']['context']['mailbox']['item']['to'].callMethod('getAsync', [callback(result)]) 

がどのように私はdart-js-interop、このようなニーズのための新しい使用できますか?

答えて

1
@JS('Office.context.mailbox.userProfile.emailAddress') 
external get emailAddress; 
@JS('Office.context.mailbox.item.to.getAsync') 
external getAsync(Function callback); 

あなたはgetAsync呼び出すとき、あなたはallowInteropallowInteropCaptureThis

getAsync(allowInterop((x) => print(x))); 

でcallbackに渡す機能をラップする必要があり、注意してみてください。私は数ヶ月前に新しいdart-js-interopで少し演奏しましたが、まだ実際のコードでそれを使っていませんでした。

+0

ありがとうございました!静的な呼び出しに役立ちます。うん、それは実際には 'mailbox'です:) –

+0

ちなみに、' JSObjectImpl'をどう扱うのですか? 'callMethod()'や '['fieldName']'などのメソッドはありません。 –

+0

わかりませんが、具体的なタイプにキャストする必要があると思います。あなたはどこからそれを手に入れますか? –

関連する問題