


Transfert de valeur et méthodes des composants frères et sœurs de vue
前言
Vue 是一个非常流行的前端框架,它提供了很多方便的方法和 API,使得我们在开发过程中可以更加灵活和高效。其中,组件是 Vue 最为重要的概念之一,也是我们在实际开发中最为常用的部分。在组件中,兄弟组件之间的传值和方法调用是一个经常涉及到的问题。那么,本文将会介绍一些 Vue 中兄弟组件传值和方法调用的方法和技巧。
一、props / $emit
在 Vue 中,父组件向子组件传值,我们可以通过 props 的方式进行传递。而子组件向父组件传值,则可以通过 $emit 方法进行传递。那么在兄弟组件之间,我们可以通过这两种方式实现传值。具体实现方法如下:
1.1 props
通过 props 传值,需要在父组件中通过 v-bind 绑定属性,并且在子组件中通过 props 接收父组件传递的值。代码如下:
<h1>父组件</h1>
<child :message="msg"></child>
<script><br> import child from './child.vue'<br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">data () {
return {
msg: 'Hello World!'
}
},
components: {
child
}</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
<h2>子组件</h2>
<p>{{ message }}</p>
<script><br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">props: ['message']</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
在上面的代码中,父组件中通过 v-bind 绑定属性 message 并传递给子组件。子组件通过 props 接收 message,并且在模板中显示出来。
1.2 $emit
通过 $emit 传值,需要在子组件中通过 $emit 方法触发父组件的事件,并且将数值传递给父组件。在父组件中,需要通过 v-on 绑定事件,并且在事件处理函数中接收子组件传递的数值。代码如下:
<h1>父组件</h1>
<child @my-event="handleEvent"></child>
<p>{{ data }}</p>
<script><br> import child from './child.vue'<br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">data () {
return {
data: ''
}
},
components: {
child
},
methods: {
handleEvent (msg) {
this.data = msg
}
}</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
<h2>子组件</h2>
<button @click="sendMsg">向父组件传递数据</button>
<script><br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">methods: {
sendMsg () {
this.$emit('my-event', 'Hello World!')
}
}</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
在上面的代码中,子组件中通过 $emit 方法触发名称为 my-event 的事件,并将数值 'Hello World!' 传递给父组件。父组件中通过 v-on 绑定事件 my-event,并且将事件处理函数指定为 handleEvent。在这个事件处理函数中,我们将传递的数值赋值给了父组件的 data 属性。
二、$parent / $children
在 Vue 组件中,可以使用 $parent 和 $children 访问当前组件的父组件和子组件。通过这两个属性,我们可以在兄弟组件之间实现数据和方法的传递。具体实现方法如下:
2.1 $parent
通过 $parent 属性可以访问到当前组件的父组件。在父组件中,我们可以将需要传递的数据或者方法挂载在其实例上,并且在子组件中通过 $parent 访问到这些数据或方法。代码如下:
<h1>父组件</h1>
<child></child>
<script><br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">data () {
return {
message: 'Hello World!'
}
},
methods: {
showMessage () {
console.log(this.message)
}
}</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
<h2>子组件</h2>
<button @click="handleClick">调用父组件方法</button>
<script><br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">methods: {
handleClick () {
this.$parent.showMessage()
}
}</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
在上面的代码中,父组件通过 data 定义了一个 message 数据,同时也定义了一个 showMessage 方法。在子组件中,通过 $parent 访问到父组件中的 showMessage 方法,并在点击按钮时进行调用。
2.2 $children
通过 $children 属性可以访问到当前组件的子组件。同样的,在子组件中,我们可以将需要传递的数据或方法挂载在其实例上,并且在父组件中通过 $children 访问到这些数据或方法。代码如下:
<h1>父组件</h1>
<button @click="callChild">调用子组件方法</button>
<script><br> import child from './child.vue'<br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">components: {
child
},
methods: {
callChild () {
this.$children[0].showMessage()
}
}</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
<h2>子组件</h2>
<script><br> export default {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">methods: {
showMessage () {
console.log('Hello World!')
}
}</pre><div class="contentsignin">Copier après la connexion</div></div>
<p>}<br></script>
在上面的代码中,子组件通过定义 showMessage 方法,并将其挂载在实例上。在父组件中,通过 $children 访问到子组件实例,并调用其 showMessage 方法。
结论
通过本文的介绍,我们了解了 Vue 中兄弟组件传值和方法调用的几种方法。在实际开发中,在选择使用哪种方法时,需要根据场景和需求灵活应用。希望本文可以对大家在 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)

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.
