Comment utiliser l'emplacement vuejs
Comment utiliser le slot vuejs : 1. Mettez du DOM dans le sous-composant ; 2. Affichez ou masquez le DOM via le slot, un code tel que "new Vue({el: "#app",data: {},components :{ enfants:{...}}})".
L'environnement d'exploitation de cet article : système Windows 7, vue version 2.9.6, ordinateur DELL G3.
Utilisation des slots dans vuejs
Vue d'ensemble :
Si le composant parent doit mettre du DOM dans le composant enfant, alors la distribution des slots est responsable de savoir si ces DOM sont affichés ou masqués, où ils sont affichés, et comment ils sont affichés.
Distribué dans les situations suivantes :
<p> <children> <span>我是slot内容</span> <!--这行不会显示--> </children> </p> <script> new Vue({ el: "#app", data: { }, components: { children: { //这个无返回值,不会继续派发 template: "<button>为了明确作用范围,所以使用button标签" } } }) </script>
Le résultat d'affichage est : le contenu de la balise span n'est pas affiché.
Emplacement unique :
<p> <children> <span>我是slot内容</span> <!--这行不会显示--> </children> </p> <script> new Vue({ el: "#app", data: { }, components: { children: { //这个无返回值,不会继续派发 template: "<button><slot>为了明确作用范围,所以使用button标签" } } }) </script>
即父组件放在子组件里的内容,插到了子组件<slot></slot>位置; 注意:即使有多个标签,会一起被插入,相当于在父组件放在子组件里的标签,替换了<slot></slot>这个标签。 例如:<p> <children> <span>我是slot内容</span> <p>测试测试</p> <em>我是测试的</em> <!--这行不会显示--> </children> </p> <script> new Vue({ el: "#app", data: { }, components: { children: { //这个无返回值,不会继续派发 template: "<button><slot>为了明确作用范围,所以使用button标签" } } }) </script>
D:具名slot:将放在子组件里的不同html标签放到不同位置,父组件在要发布的标签里添加slot=”name名”属性,子组件在对应分发的位置的slot标签里,添加name=”name名”属性,然后就会将对应的标签放在对应位置了。 例如:<p> <children> <span>12345</span> <span>56789</span> </children> </p> <script> new Vue({ el: "#app", data: { }, components: { children: { //这个无返回值,不会继续派发 template: "<button><slot name='first'>为了明确作用范围<slot name='third'>所以使用button标签" } } }) </script>
E:分发内容的作用域: 被分发的内容的作用域,根据其所在模块决定,例如:<p> <children> <span>12345</span> <span>56789</span> </children> </p> <script> new Vue({ el: "#app", data: { }, components: { children: { //这个无返回值,不会继续派发 template: "<button><slot name='first'>为了明确作用范围<slot name='third'>所以使用button标签" } }, methods: { test: function() { console.log("我是first点击打印的内容"); } } }) </script>点击按钮12345的区域时(而不是全部按钮),会触发父组件的test方法,然后打印“我是first点击打印的内容”。但是点击其他区域则没有影响。
F:当没有分发内容时的提示:假如父组件没有在子组件中放置有标签,或者是父组件在子组件中放置标签,但有slot属性,而子组件中没有slot属性的标签。那么子组件的slot标签,将不会起任何作用。除非,该slot标签内有内容,那么在无分发内容的时候,会显示该slot标签内的内容。 例如:<p> <children> <span>【12345】</span> </children> </p> <script> new Vue({ el: "#app", data: { }, components: { children: { //这个无返回值,不会继续派发 template: "<p><slot name='first'><button>【没内容显示1】为了明确作用范围,<slot name='last'><button>【没内容显示2】所以使用button标签" } } }) </script>
如果改为:<p> <children> <span>【12345】</span> </children> </p> <script> new Vue({ el: "#app", data: { }, components: { children: { //这个无返回值,不会继续派发 template: "<p><slot name='first'><button>【没内容显示1】为了明确作用范围,<slot name='last'><button>【没内容显示2】所以使用button标签" } } }) </script>
说明:a、name=”first”的slot标签被父组件对应的标签所替换(slot标签内部的内容被舍弃) b、name=”last”的slot标签,因为没有对应内容,则显示该slot标签内部的内容。 G、假如想控制子组件根标签的属性【1】首先,由于模板标签是属于父组件的,因此,将子组件的指令绑定在模板标签里,是不可以的(因为其归属于父组件) 【2】假如需要通过父组件控制子组件是否显示(例如v-show或v-if),那么这个指令显然是属于父组件的,可以将标签写在子组件的模板上。例如:<p> <button>点击让子组件显示</button> <children></children> </p> <script> new Vue({ el: "#app", data: { abc: false }, methods: { toshow: function() { this.abc = !this.abc; } }, components: { children: { //这个无返回值,不会继续派发 template: "<p>这里是子组件" } } }) </script>
点击之后:
说明:通过父组件(点击按钮,切换v-if指令的值)控制子组件是否显示。 【3】假如需要通过子组件,控制子组件是否显示(比如隐藏)那么这个指令显然是属于子组件的(会将值放在子组件的data属性下)那么就必须放置在子组件的根标签中。 例如:<p> <button>点击让子组件显示</button> <children> <span>【12345】</span> <!--上面这行不会显示--> </children> </p> <script> new Vue({ el: "#app", methods: { toshow: function() { this.$children[0].tohidden = true; } }, components: { children: { //这个无返回值,不会继续派发 template: "<p v-if='tohidden' @click='tohide'>这里是子组件", data: function() { return { tohidden: true } }, methods: { tohide: function() { this.tohidden = !this.tohidden; } } } } }) </script>
Après avoir cliqué sur "Voici le composant enfant" :
Cliquez sur "Cliquez pour faire apparaître le composant enfant" :
Instructions :
Cliquer sur le composant enfant fera disparaître le composant enfant
Cliquez sur le bouton du composant parent, Faire réafficher le sous-composant en changeant l'attribut tohidden du sous-composant.
Les instructions du sous-composant sont liées au modèle du sous-composant (elles peuvent donc être appelées).
Apprentissage recommandé : "tutoriel vue"
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lorsque nous utilisons le framework Vue pour développer des projets front-end, nous déploierons plusieurs environnements lors du déploiement. Souvent, les noms de domaine d'interface appelés par les environnements de développement, de test et en ligne sont différents. Comment peut-on faire la distinction ? Cela utilise des variables et des modèles d'environnement.

La différence entre la modularisation et la modularisation : la modularisation est divisée du point de vue de la logique du code ; elle facilite le développement en couches de code et garantit la cohérence des fonctions de chaque module fonctionnel. La composantisation est planifiée du point de vue de l'interface utilisateur ; la composantisation du frontal facilite la réutilisation des composants de l'interface utilisateur.

Ace est un éditeur de code intégrable écrit en JavaScript. Il correspond aux fonctionnalités et aux performances des éditeurs natifs comme Sublime, Vim et TextMate. Il peut être facilement intégré à n’importe quelle page Web et application JavaScript. Ace est maintenu en tant qu'éditeur principal de l'IDE Cloud9 et est le successeur du projet Mozilla Skywriter (Bespin).

vscode lui-même prend en charge les composants de fichiers Vue pour accéder aux définitions, mais la prise en charge est très faible. Sous la configuration de vue-cli, nous pouvons écrire de nombreuses utilisations flexibles, ce qui peut améliorer notre efficacité de production. Mais ce sont ces méthodes d'écriture flexibles qui empêchent les fonctions fournies par vscode lui-même de prendre en charge le passage aux définitions de fichiers. Afin d'être compatible avec ces méthodes d'écriture flexibles et d'améliorer l'efficacité du travail, j'ai écrit un plug-in vscode qui prend en charge les fichiers Vue pour accéder aux définitions.

Avant-propos : Dans le développement de vue3, réactif fournit une méthode pour implémenter des données réactives. Il s'agit d'une API fréquemment utilisée dans le développement quotidien. Dans cet article, l’auteur explorera son mécanisme de fonctionnement interne.

Vue.js est devenu aujourd'hui un framework très populaire dans le développement front-end. À mesure que Vue.js continue d'évoluer, les tests unitaires deviennent de plus en plus importants. Aujourd'hui, nous allons explorer comment écrire des tests unitaires dans Vue.js 3 et fournir quelques bonnes pratiques ainsi que des problèmes et solutions courants.

Dans Vue.js, les développeurs peuvent utiliser deux syntaxes différentes pour créer des interfaces utilisateur : la syntaxe JSX et la syntaxe des modèles. Les deux syntaxes ont leurs propres avantages et inconvénients. Discutons de leurs différences, avantages et inconvénients.

Dans le processus de développement réel du projet, il est parfois nécessaire de télécharger des fichiers relativement volumineux, puis le téléchargement sera relativement lent, de sorte que l'arrière-plan peut nécessiter que le front-end télécharge des tranches de fichiers. Par exemple, 1 A. Le flux de fichiers de gigaoctets est découpé en plusieurs petits flux de fichiers, puis l'interface est invitée à fournir respectivement les petits flux de fichiers.
