【问题标题】:What is the correct way to access the `export default` in KotlinJS在 KotlinJS 中访问“导出默认值”的正确方法是什么
【发布时间】:2018-10-26 13:23:30
【问题描述】:

我正在使用 Vue 和 KotlinJS,并认为我可以通过这种方式简单地访问像 Vue.set 这样的 Vue 观察者函数:

@JsModule("vue")
@JsName("Vue")
open external class Vue {
    companion object {
        fun <T> set(target: Any, key: String, value: T): T
        fun <T> set(target: Array<T>, key: Int, value: T): T
    }
}
...
Vue.set(state.todos, 1, todo)

但是我得到了

未捕获的类型错误:$module$vue.set 不是函数

$module$vue = require("vue").

不过是这样(注意object default 而不是companion object

@JsModule("vue")
@JsName("Vue")
open external class Vue {
    object default {
        fun <T> set(target: Any, key: String, value: T): T
        fun <T> set(target: Array<T>, key: Int, value: T): T
    }
}
...
Vue.default.set(state.todos, 1, todo)

为什么会这样,有没有解决这个问题的好方法?

【问题讨论】:

    标签: kotlin kotlin-js-interop


    【解决方案1】:

    代替@JsName("Vue"),试试:@JsName("default")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 2014-08-16
      • 2016-11-19
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多