Kotlin JS项目中无需实现类即可调用含接口参数的函数吗?
在Kotlin JS中无需单独类实现external接口调用函数的方法
当然可以不用创建单独的实现类,针对Kotlin JS的external接口,有两种常用的简便方式直接调用目标函数:
方式一:使用对象表达式直接实现接口
在调用doSomethingCool时,直接用对象表达式快速实现FullscreenControlProps接口,无需提前定义类:
doSomethingCool(object : FullscreenControlProps { override var containerId: String? = "my-container" override var position: String? = "top-right" override var style: Any? = js("{ background: '#eee' }") })
方式二:直接创建JS对象并强转为接口类型
由于external接口本质对应JavaScript的普通对象,你可以直接用js()函数创建符合结构的JS对象,再强转为接口类型传入:
val controlProps = js("""{ containerId: "my-container", position: "bottom-left", style: { padding: "8px" } }""") as FullscreenControlProps doSomethingCool(controlProps)
这两种方式都能避免编写单独的接口实现类,适合快速构建参数对象调用函数。
内容的提问来源于stack exchange,提问作者Chris Legge
相关产品推荐
相关产品推荐

