Maison  >  Article  >  interface Web  >  Exemple de code d'analyse de la clé keep-alive dans Vue

Exemple de code d'analyse de la clé keep-alive dans Vue

不言
不言original
2018-09-18 14:38:451615parcourir

Le contenu de cet article concerne l'analyse d'un exemple de code de la clé keep-alive dans Vue. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

keep-alive key

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="./vue.js"></script>
</head>
<body>
    <p id="app">
        <keep-alive>
            <child-component key="1" v-if="seen" name="1"></child-component>
            <child-component key="2" v-if="!seen" name="2"></child-component>
        </keep-alive>
        <button @click="toggle">toggle</button>
    </p>
    <script type="text/javascript">
        Vue.component('child-component', {
            template: `<input type="text" placeholder="enter">`,
            data() {
                return {}
            },
            props: ["name"],
            mounted() {
                console.log(`${this.name} mounted`)
            }
        })
        const vm = new Vue({
            el: "#app",
            data: {
                seen: true
            },
            methods: {
                toggle() {
                    this.seen = !this.seen;
                }
            }
        })
    </script>
</body>
</html>

key est l'élément d'identification et ne sera plus réutilisée. Notez que key est un attribut réservé dans Vue et ne peut pas être transmis aux sous-composants en tant qu'accessoires. , sinon j'aurai vu le rapport d'erreur de Vue sur la console

, mais l'indicateur keep-alive ne crée pas d'instances de composant à plusieurs reprises, c'est-à-dire qu'il ne déclenchera l'événement created mounted qu'une seule fois

<.> Utilisez les deux pour dupliquer le composant. Utilisez-le pour une gestion plus détaillée

.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn