我正在使用 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)
为什么会这样,有没有解决这个问题的好方法?