Rumah > Soal Jawab > teks badan
Saya mempunyai kod Nuxt yang berfungsi:
<template lang="pug"> div {{ isVisible }} !-- 响应性正常,isVisible从false切换到true --! </template> <script> export default { data() { return { isVisible: false } }, computed: { availableLocales() { return this.$i18n.locales.filter(i => i.code !== this.$i18n.locale) } }, methods: { showDropdown() { console.log(this.isVisible); this.isVisible = !this.isVisible; } } } </script>
Saya cuba menggunakan komposisi-api untuk menukar, tetapi tidak mungkin: ia tidak berfungsi.
Saya tidak mempunyai mesej ralat, tetapi saya rasa tidak bertindak balas.
Walau bagaimanapun, console.log menukar nilai (tetapi dalam templat nilai tidak berubah)
<template lang="pug"> div {{ isVisible }} !-- 响应性不正常,当我点击时isVisible始终为false(但是通过console.log,值会改变) --! </template> <script setup> const { locale, locales } = useI18n() const switchLocalePath = useSwitchLocalePath() const availableLocales = computed(() => { return (locales.value).filter(i => i.code !== locale.value) }); let isVisible = ref(false); const showDropdown = () => { console.log(isVisible); isVisible = !isVisible; } </script>
P粉1436404962023-09-10 07:17:06
Anda perlu menukar baris berikut
isVisible = !isVisible;
ditukar kepada
isVisible.value = !isVisible.value
Untuk maklumat lanjut, sila rujuk: https://vuejs.org/guide/essentials/reactivity-fundamentals.html#ref