如何处理dart中js的嵌套对象(new dart-js-interop)

时间:2016-03-28 17:37:14

标签: dart dart-js-interop

我为Outlook Office365创建了加载项,并使用他们的office.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 个答案:

答案 0 :(得分: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)));

请谨慎使用。几个月前我用新的dart-js-interop玩过一段时间,但我还没有在真正的代码中使用它。