Réussir les accessoires basés sur des tests dans les propriétés calculées
P粉875565683
2023-08-17 19:18:01
<p>J'ai rencontré un problème avec un test simple dans la propriété <code>computed()</code> </p>
<pre class="brush:php;toolbar:false;">const test = calculated(() => {
si (processus.client) {
console.log('Cela a fonctionné. Est-ce un appareil mobile ?', window.innerWidth < 768)
retourner window.innerWidth <
} autre {
console.log('N'a pas fonctionné')
retour
}
})</pré>
<p>Le résultat de la propriété calculée est toujours correct, mais je souhaite l'utiliser dans le modèle ci-dessous pour transmettre les accessoires de manière conditionnelle. </p>
<pre class="brush:php;toolbar:false;"><Loader
v-if="isLoading"
:images="test ? marques.desktopLoaderImages : marques.mobileLoaderImages"
/></pré>
<p>Le problème est que quel que soit le résultat, brand.mobileLoaderImages est toujours transmis en tant qu'accessoires à mon composant et je n'arrive pas à comprendre pourquoi. </p>
<p>J'ai essayé d'utiliser une technique différente pour déterminer la taille de l'écran autre que <code>window.innerWidth</code>, comme un module dédié comme <code>@vueuse/core</code> mais le résultat est le même. Je suppose que le problème pourrait provenir du cycle de vie de Vue ou quelque chose comme ça ? </p>
Il est recommandé d'utiliser
useBreakpoints
son module nuxt de VueUse :