0
votes

Load Vue Composants Async sur Laravel

J'ai quelques JavaScript code> pour exécuter dans un fichier lame code>, mais il attend un composant VUE code> sur chargement complètement avant d'exécuter.

Vue.component('my-vue-component', () => import('./components/MyVueComponent.vue').default);


1 commentaires

Remarque importante: le code JS que je veux exécuter avant que le composant VUE soit out du composant, c'est-à-dire qu'il n'appartient pas au composant


3 Réponses :


0
votes

Pour exécuter certains JavaScript après le chargement d'un composant VUE, vous pouvez simplement l'ajouter à la méthode montée () . XXX


5 commentaires

Je veux que mon JS soit dirigé avant ou pendant le chargement du composant VUE, mais non après. Remarque importante: le JS que je veux exécuter n'est pas dans le composant VUE, il est hors de celui-ci, dans la page qui héberge le composant


Ensuite, votre message est très déroutant. Vous avez dit: "... Vue composant doit complètement charger avant que JavaScript fonctionne". Maintenant, vous dites que cela peut courir avant? Ça n'a aucun sens.


Vous avez raison, c'était une formulation médiocre de ma part. Je viens de résoudre que


Ensuite, vous devriez probablement envisager d'utiliser la méthode @ptrton mentionnée. Mais l'exemple JavaScript que vous avez fourni nécessite que le DOM soit chargé pour fonctionner correctement, ce qui signifie que vous devrez toujours retarder l'exécution jusqu'à la charge du composant VUE si vous souhaitez que tout lien dans le composant VUE soit inclus dans tout ce que vous faites. - Vous ne pouvez pas obtenir des éléments qui n'ont pas encore été écrits dans le Dom.


Vous avez raison. Le composant VUE fait partie de la DOM et de tout JavaScript après avoir attendu que le composant VUE soit restitué avant de pouvoir fonctionner. Donc, @ptrton est essentiellement sur le point. Merci pour les commentaires



0
votes

Eh bien, cela n'attendra pas parce que Vue JS compile et générera ensuite DOM. Un meilleur moyen d'effectuer toute action après la charge de Vue JS consiste à utiliser les méthodes montées ou créées de la classe de composants VUE.

export default{
    name: 'TestComponent',
    mounted(){
        //
    },
    created(){
        //
    }
}


1 commentaires

La méthode de créée n'aura pas encore rendu le HTML.



1
votes

Si le JavaScript que vous souhaitez charger avant ou pendant le chargement des composants de VUE est lié au composant VUE lui-même, puis optez pour la solution postée par @MATTICUSATRD. Si vous souhaitez exécuter le JavaScript avant de charger des composants de VUE, placez-le dans le de votre page avant votre app.js .

méfiez-vous, cela rendra la charge complète de la page d'attente du code JavaScript à exécuter. De plus, vous n'aurez pas encore le DOM disponible, vous devrez peut-être écouter un événement comme DomContentOached avant de faire des manipulations à la page.


0 commentaires