Je souhaite passer de l'API d'options à l'API de composition et utiliser des composables au lieu de mixins. Jusqu'à présent, j'ai utilisé un mixin global avec des propriétés calculées comme celle-ci :
// globalMixin.js computed: { myAlert() { return this.$refs.myAlertDiv; } }
Ensuite j'ai utilisé ce mixin lors de la création de l'application :
// MyApp.js const MyApp = { mixins: [globalMixin] ... }
myAlert devient une propriété calculée de MyApp et je peux l'utiliser sans la déclarer directement dans la propriété MyApp.
Maintenant, je veux obtenir le même résultat en utilisant des composables, disons que j'ai un composant qui importe des composables :
// App.vue <script setup> import { useGlobalComposable} from './globalComposable.js'; const globalComposable = useGlobalComposable(); onMounted(() => { // should work without declaring myAlert inside App.vue console.log(globalComposable.myAlert); }) ... </script>
Est-ce que ça va ? Si oui, comment dois-je déclarer la référence du modèle myAlert dans le composable ?
Votre
useGlobalComposable
函数应返回myAlert
, comme indiqué ci-dessous :Ensuite, vous pouvez déclarer myAlert dans le bloc des paramètres
Veuillez noter que
mixin
中的this.$refs
不能直接与 Composition API 一起使用。如果您创建组件,则可以使用this
accède aux propriétés et méthodes des composants.Ceci est un article sur l'utilisation de
refs
avec l'API Composition.Exemple de travail très simple utilisant des composables dans
设置
: