如何在Kotlin中使用一个叫做“val()”的函数? /扩展外部JS类
在尝试使用Kotlin的 Firebase Cloud功能时遇到问题。
从数据库触发数据时,使用snapshot.val();
函数在Javascript中 。 在Kotlin中这是不可能的,因为val
是Kotlin中的关键字。 我设法通过使用来解决这个问题
snapshot.`val()`
这样我可以在Kotlin中调用任何名字的函数。 现在我觉得每次都输入这个“重音符号”真的很烦,于是我试着创建一个扩展函数。
我的问题是,我不知道如何引用类型。 在Javascript中 ,访问数据库时是DeltaSnapshot
或DataSnapshot
。
如何扩展外部类,或者如何以不同的名称调用它? Typealiases将不起作用,因为它们仅限于类/而不是支持功能。
你有没有尝试跟进?
external class MyClass { @JsName("val") fun foo() }
在JavaScript中,类也是一个对象
snapshot['val']();
更通用
object[functionName](); object[functionName].call(object, ...args); object[functionName].apply(object, args);