我正在玩Vue和KotlinJS并认为我可以通过这种方式访问Vue观察者函数,例如Vue.set
:
@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)
但是我得到了
未捕获的TypeError:$ 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)
为什么会这样,并且有一个很好的解决方法吗?
答案 0 :(得分:0)
尝试使用@JsName("Vue")
代替@JsName("default")