composition-api et nuxt3 - je n'arrive pas à atteindre la réactivité
P粉014293738
P粉014293738 2023-09-09 08:45:14
0
1
472

J'ai un code Nuxt fonctionnel :

<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>

J'ai essayé d'utiliser composition-api pour convertir, mais ce n'est pas possible : ça ne fonctionne pas.

Je ne reçois pas de messages d'erreur, mais je ne réponds pas.

Cependant, console.log change la valeur (mais dans le modèle la valeur ne change pas)

<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粉014293738
P粉014293738

répondre à tous(1)
P粉143640496

Vous devez modifier les lignes suivantes

isVisible = !isVisible;

changé en

isVisible.value = !isVisible.value

Pour plus d'informations, veuillez vous référer à : https://vuejs.org/guide/essentials/reactivity-fundamentals.html#ref

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!