Мы пытаемся преобразовать простой SF C для использования нового Vue CompositionAPI. Этот код работает безупречно:
export default {
data() {
return {
miniState: true
}
},
methods: {
setMiniState(state) {
if (this.$q.screen.width > 1023) {
this.miniState = false;
} else if (state !== void 0) {
this.miniState = state === true
}
else {
this.miniState = true
}
},
},
watch: {
'$q.screen.width'() {
this.setMiniState()
}
}
};
Преобразование этого в новый CompostionAPI выглядит так:
export default defineComponent({
setup() {
const miniState = ref(true)
const setMiniState = (state) => {
if ($q.screen.width > 1023) {
miniState.value = false
} else if (state !== void 0) {
miniState.value = state === true
}
else {
miniState.value = true
}
}
watch('$q.screen.width'(),
setMiniState()
)
return {
miniState, setMiniState
}
}
})
Однако каждый раз, когда я пытаюсь запустить это, Vue жалуется, что $q.screen.width
это не функция. Что я здесь делаю не так?