


Vue, as a popular front-end framework, often needs to implement value transfer functions between components. Among them, when the values of adjacent components are transferred, it is mainly realized by calling the component's method. This article will introduce the implementation method of adjacent component value transfer function in Vue.
1. Parent component passes value to child component
In Vue, the value of the parent component is bound to the child component through the v-bind directive. The specific implementation code is as follows:
In the parent component:
<template> <div> <child-component v-bind:data="parentData"></child-component> </div> </template> <script> import childComponent from './childComponent.vue'; export default { components: { childComponent }, data: { parentData: 'Hello, Vue!' } } </script>
In the child component:
<template> <div> <p>{{data}}</p> </div> </template> <script> export default { props: ['data'] } </script>
The above code passes the data of the parent component parentData
v-bind:data
Bind to the data
attribute of the child component.
2. The child component passes the value to the parent component
In Vue, the child component needs to send an event to the parent component through the $emit
method. Register the event in the parent component and process the data sent by the child component in the callback function. The specific implementation code is as follows:
In the parent component:
<template> <div> <child-component v-on:send-data="handleChildData"></child-component> </div> </template> <script> import childComponent from './childComponent.vue'; export default { components: { childComponent }, methods: { handleChildData(data) { console.log(data); } } } </script>
In the child component:
<template> <div> <button v-on:click="sendDataToParent">向父组件传递数据</button> </div> </template> <script> export default { methods: { sendDataToParent() { this.$emit('send-data', 'Hello, Parent!'); } } } </script>
In the above code, the child component passes v-on:click
Bind the sendDataToParent
method, in the method send the event to the parent component through the $emit
method send-data
and pass the data Hello, Parent !
. In the parent component, register the callback function handleChildData
of the event send-data
through v-on:send-data
, and process the return of the child component in the function parameters.
3. Transferring values between sibling components
When transferring data between sibling components, the parent component needs to be used as an intermediate bridge. The specific implementation code is as follows:
In the parent component:
<template> <div> <brother-component1 v-on:update-data="handleBrotherData"></brother-component1> <br> <brother-component2 v-bind:data="parentData"></brother-component2> </div> </template> <script> import brotherComponent1 from './brotherComponent1.vue'; import brotherComponent2 from './brotherComponent2.vue'; export default { components: { brotherComponent1, brotherComponent2 }, data: { parentData: '' }, methods: { handleBrotherData(data) { this.parentData = data; } } } </script>
In the subcomponent 1:
<template> <div> <button v-on:click="sendDataToBrother">向兄弟组件2传递数据</button> </div> </template> <script> export default { methods: { sendDataToBrother() { this.$emit('update-data', 'Hello, Brother 2!'); } } } </script>
In the subcomponent 2:
<template> <div> <p>{{data}}</p> </div> </template> <script> export default { props: ['data'] } </script>
Above In the code, child component 1 sends the event update-data
to the parent component and passes the data Hello, Brother 2!
; the parent component listens to the event v-on:update- data
and process the data handleBrotherData
in the function, and bind the processed data to the data
of subcomponent 2 through v-bind:data
in properties.
To sum up, the implementation method of value-passing functions of adjacent components in Vue is mainly completed through value binding and event communication between parent and child components. The parent component serves as an intermediate bridge between sibling components. This method is simple, easy to understand, flexible and convenient, and is a very important component communication method in Vue.
The above is the detailed content of Implementation method of adjacent component value transfer function in Vue document. For more information, please follow other related articles on the PHP Chinese website!

vue中props可以传递函数;vue中可以将字符串、数组、数字和对象作为props传递,props主要用于组件的传值,目的为了接收外面传过来的数据,语法为“export default {methods: {myFunction() {// ...}}};”。

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)
