recherche
Maisoninterface WebVoir.jsQuelles sont les méthodes pour éviter les pièges lors du passage de valeurs entre les composants Vue3 ?

    Instance de remplissage des fosses

    Pit one

    1. Découverte de la fosse

    Nous utilisons un composant compteur pour démontrer cette fosse Lorsque nous voulons opérer sur la valeur transmise par le composant parent, nous constatons que l'opération. n'est pas valide. Regardons-le d'abord Code :

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://unpkg.com/vue@next"></script>
        <title>组件间传值</title>
    </head>
    <body>
        <div id="root"></div>
    </body>
    <script>
        const app = Vue.createApp({
            data() {
                return {
                    num:0
                }
            },
           template: `
                    <div>
                       <counter :count = "num"/>
                    </div>
                    ` 
        });
        // 定义一个test组件
        app.component(&#39;counter&#39;,{
           props: [&#39;count&#39;],
          template: `<div @click="count+=1">{{count}}</div>`
        });
        const vm = app.mount(&#39;#root&#39;);
    </script>
    </html>

    Dans le code ci-dessus, nous définissons un composant compteur pour recevoir une valeur de comptage du composant parent Lorsque nous cliquons sur la valeur affichée, nous en ajoutons une. Lorsque nous exécutons le code à ce moment-là, nous constaterons que notre valeur ne terminera pas l'opération d'incrémentation, mais signalera que la valeur transmise par le composant parent est en lecture seule :

    Quelles sont les méthodes pour éviter les pièges lors du passage de valeurs entre les composants Vue3 ?

    Remplissage du moment du trou
    2.

    Et si nous voulons Que dois-je faire pour remplir cette fonction plus une ? La réponse est que nous copions la valeur transmise par le composant parent et opérons sur notre propre valeur :

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://unpkg.com/vue@next"></script>
        <title>组件间传值</title>
    </head>
    <body>
        <div id="root"></div>
    </body>
    <script>
        const app = Vue.createApp({
            data() {
                return {
                    num:0
                }
            },
           template: `
                    <div>
                       <counter :count = "num"/>
                    </div>
                    ` 
        });
        // 定义一个test组件
        app.component(&#39;counter&#39;,{
           props: [&#39;count&#39;],
           data(){
            return{
                mCount:this.count
            }
           },
          template: `<div @click="mCount+=1">{{mCount}}</div>`
        });
        const vm = app.mount(&#39;#root&#39;);
    </script>
    </html>

    Lorsque nous exécutons à nouveau le code, nous constaterons que nous pouvons en ajouter une :

    Quelles sont les méthodes pour éviter les pièges lors du passage de valeurs entre les composants Vue3 ?

    Pit 2 :

    1 . J'ai trouvé le gouffre

    Lorsque nous définissons un attribut avec un nom de mot long et le connectons avec le séparateur "-", le sous-composant ne peut pas recevoir la valeur correcte et affiche NaN. Le code est le suivant :

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://unpkg.com/vue@next"></script>
        <title>组件间传值</title>
    </head>
    <body>
        <div id="root"></div>
    </body>
    <script>
        const app = Vue.createApp({
            data() {
                return {
                    content:"hello world"
                }
            },
           template: `
                    <div>
                       <test :content-helloworld = "content"/>
                    </div>
                    ` 
        });
        // 定义一个test组件
        app.component(&#39;test&#39;,{
           props: [&#39;content-helloworld&#39;],
          template: `<div>{{content-helloworld}}</div>`
        });
        const vm = app.mount(&#39;#root&#39;);
    </script>
    </html>

    Dans le code ci-dessus, nous utilisons l'attribut content-helloworld pour transmettre des valeurs entre le composant parent et le composant enfant. Selon notre compréhension, le transfert devrait. réussir, mais l'affichage Le résultat est incorrectcontent-helloworld这个属性在父组件和子组件之间传值,按照我们的理解,应该是能传递成功的,但是显示的结果却不正确

    Quelles sont les méthodes pour éviter les pièges lors du passage de valeurs entre les composants Vue3 ?

    上面到坑也是VUE中的单向数据流的概念,即子组件可以使用父组件传递过来的数据,但是不能修改父组件传递过来的数据

    2.填坑时刻

    当我们定义的属性值中有用“-”分隔符分隔时,我们在接收值的时候,需要将属性名改成驼峰命名的方式,如上面的例子中父组件使用content-helloworld传递值到子组件,那么子组件接收到时候应该将其改成驼峰命名方式:使用contentHelloworld

    Quels sont les pièges du transfert valeurs entre les composants Vue3 ?

    Le piège mentionné ci-dessus est également le concept de flux de données unidirectionnel dans VUE, c'est-à-dire que les composants enfants peuvent utiliser les données transmises par le composant parent, mais ne peuvent pas modifier les données transmises. par le composant parent

    Quelles sont les méthodes pour éviter les pièges lors du passage de valeurs entre les composants Vue3 ?2. Le moment de remplir la fosse

    🎜Lorsque les valeurs d'attribut définies sont séparées par des délimiteurs "-", nous devons changer le nom de l'attribut en casse chameau lors de la réception de la valeur Pour. exemple, dans l'exemple ci-dessus, le composant parent utilise content-helloworld Passez la valeur au sous-composant, puis le sous-composant doit la changer en dénomination camel lors de sa réception : utilisez contentHelloworld de recevoir 🎜
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://unpkg.com/vue@next"></script>
        <title>组件间传值</title>
    </head>
    <body>
        <div id="root"></div>
    </body>
    <script>
        const app = Vue.createApp({
            data() {
                return {
                    content:"hello world"
                }
            },
           template: `
                    <div>
                       <test :content-helloworld = "content"/>
                    </div>
                    ` 
        });
        // 定义一个test组件
        app.component(&#39;test&#39;,{
           props: [&#39;contentHelloworld&#39;],
          template: `<div>{{contentHelloworld}}</div>`
        });
        const vm = app.mount(&#39;#root&#39;);
    </script>
    </html>
    🎜 pour que la valeur s'affiche correctement🎜🎜🎜🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
    Fonction de Vue.js: améliorer l'expérience utilisateur sur le frontendFonction de Vue.js: améliorer l'expérience utilisateur sur le frontendApr 19, 2025 am 12:13 AM

    Vue.js améliore l'expérience utilisateur via plusieurs fonctions: 1. Le système réactif réalise les commentaires des données en temps réel; 2. Le développement des composants améliore la réutilisabilité du code; 3. Vuerouter fournit une navigation fluide; 4. L'animation dynamique des données et l'animation de transition améliorent l'effet d'interaction; 5. Le mécanisme de traitement des erreurs garantit les commentaires des utilisateurs; 6. L'optimisation des performances et les meilleures pratiques améliorent les performances des applications.

    Vue.js: définir son rôle dans le développement WebVue.js: définir son rôle dans le développement WebApr 18, 2025 am 12:07 AM

    Le rôle de Vue.js dans le développement Web est d'agir comme un cadre JavaScript progressif qui simplifie le processus de développement et améliore l'efficacité. 1) Il permet aux développeurs de se concentrer sur la logique métier grâce à la liaison réactive des données et au développement des composants. 2) Le principe de travail de Vue.js s'appuie sur des systèmes réactifs et un Dom virtuel pour optimiser les performances. 3) Dans les projets réels, il est courant d'utiliser Vuex pour gérer l'état mondial et optimiser la réactivité des données.

    Comprendre Vue.js: principalement un cadre frontalComprendre Vue.js: principalement un cadre frontalApr 17, 2025 am 12:20 AM

    Vue.js est un framework JavaScript progressif publié par You Yuxi en 2014 pour créer une interface utilisateur. Ses principaux avantages incluent: 1. Ligneurs de données réactives, vue de mise à jour automatique des modifications de données; 2. Développement des composants, l'interface utilisateur peut être divisée en composants indépendants et réutilisables.

    Frontend de Netflix: Exemples et applications de React (ou Vue)Frontend de Netflix: Exemples et applications de React (ou Vue)Apr 16, 2025 am 12:08 AM

    Netflix utilise React comme cadre frontal. 1) Le modèle de développement composant de React et un écosystème fort sont les principales raisons pour lesquelles Netflix l'a choisi. 2) Grâce à la composante, Netflix divise les interfaces complexes en morceaux gérables tels que les lecteurs vidéo, les listes de recommandations et les commentaires des utilisateurs. 3) Le cycle de vie virtuel et composant virtuel de React optimise l'efficacité du rendu et la gestion de l'interaction des utilisateurs.

    Le paysage frontal: comment Netflix a abordé ses choixLe paysage frontal: comment Netflix a abordé ses choixApr 15, 2025 am 12:13 AM

    Le choix de Netflix dans la technologie frontale se concentre principalement sur trois aspects: l'optimisation des performances, l'évolutivité et l'expérience utilisateur. 1. Optimisation des performances: Netflix a choisi React comme cadre principal et outils développés tels que SpeedCurve et Boomerang pour surveiller et optimiser l'expérience utilisateur. 2. Évolutivité: ils adoptent une micro architecture frontale, divisant les applications en modules indépendants, améliorant l'efficacité de développement et l'évolutivité du système. 3. Expérience utilisateur: Netflix utilise la bibliothèque de composants Material-UI pour optimiser en continu l'interface via les tests A / B et les commentaires des utilisateurs pour assurer la cohérence et l'esthétique.

    React vs. Vue: Quel framework utilise Netflix?React vs. Vue: Quel framework utilise Netflix?Apr 14, 2025 am 12:19 AM

    NetflixUSESACustomFrameworkCalled "gibbon" builtonReact, notreactorVueDirectly.1) teamExperience: ChoOsBasedOnFamiliarity.

    Le choix des cadres: qu'est-ce qui motive les décisions de Netflix?Le choix des cadres: qu'est-ce qui motive les décisions de Netflix?Apr 13, 2025 am 12:05 AM

    Netflix considère principalement les performances, l'évolutivité, l'efficacité de développement, l'écosystème, la dette technique et les coûts de maintenance dans la sélection du cadre. 1. Performances et évolutivité: Java et Springboot sont sélectionnés pour traiter efficacement des données massives et des demandes simultanées élevées. 2. Efficacité de développement et écosystème: utiliser réagir pour améliorer l'efficacité du développement frontal et utiliser son riche écosystème. 3. Debt technique et coûts de maintenance: choisissez Node.js pour créer des microservices pour réduire les coûts de maintenance et la dette technique.

    React, Vue et l'avenir du frontend de NetflixReact, Vue et l'avenir du frontend de NetflixApr 12, 2025 am 12:12 AM

    Netflix utilise principalement React comme cadre frontal, complété par Vue pour des fonctions spécifiques. 1) La composante de React et le DOM virtuel améliorent l'efficacité des performances et du développement des applications Netflix. 2) Vue est utilisée dans les outils internes et les petits projets de Netflix, et sa flexibilité et sa facilité d'utilisation sont essentielles.

    See all articles

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    Listes Sec

    Listes Sec

    SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

    PhpStorm version Mac

    PhpStorm version Mac

    Le dernier (2018.2.1) outil de développement intégré PHP professionnel

    Télécharger la version Mac de l'éditeur Atom

    Télécharger la version Mac de l'éditeur Atom

    L'éditeur open source le plus populaire

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    Puissant environnement de développement intégré PHP