【发布时间】: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)
为什么会这样,有没有解决这个问题的好方法?
【问题讨论】: