在Dart中调用JavaScript函数时指定可选参数

时间:2012-10-23 15:22:45

标签: dart

我从Dart代码调用函数window.navigator.geolocation.getCurrentPosition。此函数的最后一个参数是可选的。在JavaScript中,我将如下设置可选参数:

var wpid = navigator.geolocation.watchPosition(geo_success, geo_error,
  {enableHighAccuracy:true, maximumAge:30000, timeout:27000});

Dart代码中的等价物是什么?我尝试过以下但我不确定它是否正确:

window.navigator.geolocation.watchPosition(geo_success, geo_error,
 {'enableHighAccuracy':true, 'maximumAge':30000, 'timeout':27000});

2 个答案:

答案 0 :(得分:1)

您使用的是这种方法:http://api.dartlang.org/docs/bleeding_edge/dart_html/Geolocation.html#watchPosition

int watchPosition(PositionCallback successCallback, [PositionErrorCallback errorCallback, Object options])

我在这台机器上没有Dark SDK,但对我来说它看起来完全没问题。如果JavaScript等效代码只是一个对象,那么就像你所做的一样传递Dart Map应该可行。它有问题吗?

答案 1 :(得分:0)

希望传递地图有效,请尝试告诉我们。

即使它确实有效,这也是一个糟糕的Dart API。选项确实应该是可选参数,而不是选项对象的属性。我在这里提交了一个错误:http://dartbug.com/6280