3

我正在使用 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)

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

4

1 回答 1

1

而不是@JsName("Vue"),尝试:@JsName("default")

于 2018-10-12T00:31:52.303 回答