如何在 Kotlin 中使用名为 "val()" 的函数?/ 扩展外部 JS 类



我在尝试将云功能用于 kotlin 的firebase时遇到了一个问题。

数据库触发器访问数据时您在 javascript 中使用snapshot.val();函数。在 kotlin 中,这是不是,因为 val kotlin 中的关键字。我通过使用

来解决这个问题
snapshot.`val()`

这样,我可以在 kotlin中使用任何名称调用函数。现在,我认为每次键入"严重的口音"(`)确实很烦人,所以我尝试创建一个扩展功能。

我的问题是我不知道如何参考类型。在 javascript 访问数据库时是DeltaSnapshotDataSnapshot

如何扩展外部类,或者如何通过其他名称调用它?typealiases不起作用,因为它们仅限于课程/而不是支持功能。

您是否尝试关注?

external class MyClass {
    @JsName("val")
    fun foo()
}

在JavaScript中,类是一个对象aswell

snapshot['val']();

更多通用

object[functionName]();
object[functionName].call(object, ...args);
object[functionName].apply(object, args);

尝试以下:

js("snapshot.val()").yourKotlinCode

它对我有用

相关内容

  • 没有找到相关文章

最新更新