Я играю с 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)
Однако я получаю
Uncaught 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)
Почему это так и есть ли хороший способ обойти это?