Table of Contents
{{title}}
Home Web Front-end Vue.js What are the five ways to pass values ​​in Vue brother components?

What are the five ways to pass values ​​in Vue brother components?

May 20, 2021 am 11:52 AM
vue Component passing value

The five methods are: 1. The parent component passes the value to the child component; 2. The child component passes the value to the parent component; 3. Define a custom event on the label in the parent component and obtain it inside the event. Parameters; 4. Trigger custom events in sub-components and pass parameters; 5. Pass parameters through the public component Bus.js.

What are the five ways to pass values ​​in Vue brother components?

The operating environment of this tutorial: windows7 system, vue2.9.6 version, DELL G3 computer.

Five ways to pass values ​​in vue components:

1. Parent components pass values ​​to subcomponents:

Bind the parent data to the subcomponent, and the subcomponent passes props accept parameters.

Next we use an example to illustrate how the parent component transfers values ​​​​to the child component: how to obtain the data in the parent component App.vue in the child component Users.vue users:["Henry","Bucky" ,"Emily"]

//App.vue父组件
<template>
  <div id="app">
    <users v-bind:users="users"></users>//前者自定义名称便于子组件调用,后者要传递数据名
  </div>
</template>
<script>
import Users from "./components/Users"
export default {
  name: &#39;App&#39;,
  data(){
    return{
      users:["Henry","Bucky","Emily"]
    }
  },
  components:{
    "users":Users
  }
}
Copy after login
//users子组件
<template>
  <div class="hello">
    <ul>
      <li v-for="user in users">{{user}}</li>//遍历传递过来的值,然后呈现到页面
    </ul>
  </div>
</template>
<script>
export default {
  name: &#39;HelloWorld&#39;,
  props:{
    users:{           //这个就是父组件中子标签自定义名字
      type:Array,
      required:true
    }
  }
}
</script>
Copy after login

2. The child component passes the value to the parent component:

Set the data to be transferred in the parent component 『data(){ id: value}』

Next, we use an example to illustrate how the sub-component passes a value to the parent component: when we click "Vue.js Demo", the sub-component passes the value to the parent component, and the text changes from the original "A value is passed" It becomes "child passes value to parent component" to realize the transfer of value from child component to parent component.

What are the five ways to pass values ​​in Vue brother components?

// 子组件
<template>
  <header>
    <h1 id="title">{{title}}</h1>//绑定一个点击事件
  </header>
</template>
<script>
export default {
  name: &#39;app-header&#39;,
  data() {
    return {
      title:"Vue.js Demo"
    }
  },
  methods:{
    changeTitle() {
      this.$emit("titleChanged","子向父组件传值");//自定义事件  传递值“子向父组件传值”
    }
  }
}
</script>
Copy after login
// 父组件
<template>
  <div id="app">
    <app-header v-on:titleChanged="updateTitle" ></app-header>//与子组件titleChanged自定义事件保持一致
   // updateTitle($event)接受传递过来的文字
    <h2 id="title">{{title}}</h2>
  </div>
</template>
<script>
import Header from "./components/Header"
export default {
  name: &#39;App&#39;,
  data(){
    return{
      title:"传递的是一个值"
    }
  },
  methods:{
    updateTitle(e){   //声明这个函数
      this.title = e;
    }
  },
  components:{
   "app-header":Header,
  }
}
</script>
Copy after login

3. Define a custom event on the label in the parent component and get the parameters inside the event;

4. Trigger the custom event in the child component event and pass parameters. (this.$ emit('Custom event in parent component', parameters))

5. Pass parameters through the public component Bus.js

[Related recommendations: "vue.js tutorial》】

The above is the detailed content of What are the five ways to pass values ​​in Vue brother components?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use echarts in vue How to use echarts in vue May 09, 2024 pm 04:24 PM

How to use echarts in vue

The role of export default in vue The role of export default in vue May 09, 2024 pm 06:48 PM

The role of export default in vue

How to use map function in vue How to use map function in vue May 09, 2024 pm 06:54 PM

How to use map function in vue

The difference between event and $event in vue The difference between event and $event in vue May 08, 2024 pm 04:42 PM

The difference between event and $event in vue

The difference between export and export default in vue The difference between export and export default in vue May 08, 2024 pm 05:27 PM

The difference between export and export default in vue

The role of onmounted in vue The role of onmounted in vue May 09, 2024 pm 02:51 PM

The role of onmounted in vue

Onmounted in vue corresponds to which life cycle of react Onmounted in vue corresponds to which life cycle of react May 09, 2024 pm 01:42 PM

Onmounted in vue corresponds to which life cycle of react

What are hooks in vue What are hooks in vue May 09, 2024 pm 06:33 PM

What are hooks in vue

See all articles