Home Web Front-end Front-end Q&A What are the several ways to pass values ​​in vue components?

What are the several ways to pass values ​​in vue components?

Dec 27, 2021 pm 03:59 PM
vue Component passing value

Component value transfer method: 1. Pass the value through routing; 2. By binding the sub-component label in the parent component to the data of the parent component, the props of the sub-component receive the value passed by the parent component. The props of the component receive the value passed by the parent component; 3. The child component passes the value to the parent component and uses "this.$emit" to traverse the getData event.

What are the several ways to pass values ​​in vue components?

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

1. Routing parameters

Steps:

①Add parameters when defining the route props: true, when defining the routing path, a parameter placeholder must be left: name『Usage:to="'path/'+value"

② Add the parameter props:['name']

to the page you jump to. ③Get the name from the page you jump to. Usage: directly this in js. name; Direct interpolation in html{<!-- -->{ name}}

2. Parent component passes value to child component

The parent component passes the value to the child component by binding the child component tag to the parent component's data, and the child component's props receive the value passed by the parent component

Steps:

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

②Bind a custom attribute to the child component referenced in the parent component and bind the data to the custom attribute『 mybtn&gt;

③Add parameters in the subcomponent props:['childid'], then

Code:

<div id="app">
	<mybtn :childid=&#39;parentid&#39; title="我是标题"></mybtn>
</div>
<script>
	new Vue({
		el:"app",
		data:{
			parentid:"88888"
		},
		components:{
			"mybtn" : {
				props: [&#39;childid&#39;,&#39;title&#39;],
	  			template: &#39;<button>我是{{childid}}号按钮{{title}}</button>&#39;
			}
		}
	})
</script>
Copy after login

Result display:

What are the several ways to pass values ​​in vue components?

##3. The child component passes the value to the parent component

The implementation method of passing from child to parent is to use this.e m i t to traverse the getData event. First, use the button to trigger the setData event, use this.emit in setData to traverse the getData event, and finally return this.msg

Steps:

① Since the parent component requires parameters, define a custom event on the label in the parent component and obtain the parameters inside the event; 『@myEvent=" callback"Receive parameters in the callback function』

② Trigger custom events in sub-components and pass parameters. 『

this.$emit('Custom event in parent component', parameters)

Code:

<template>
  <div>
	  <mybtn :style="{color:acolor,background:bcolor}" @changeColorEvent="getColor" :parentid="childid" title="我是标题"></mybtn>
  </div>

</template>
<script>

  export default {
    name : &#39;test&#39;,
    data () {
      return {
        childid:"666",
        acolor:&#39;blue&#39;,
        bcolor:&#39;red&#39;
      }
    },
    methods:{
      getColor(colors){
        //父组件就可以拿到子组件传过来的colors
        console.log(colors)
        this.acolor = "white";
        this.bcolor = colors;
      },
      //接收多个参数
      /*getColor(colors1,colors2){
        console.log(colors1,colors2)
        this.acolor = colors2;
        this.bcolor = colors1;
      }*/
    },
    components: {
      &#39;mybtn&#39; : {
        props : [&#39;parentid&#39;,&#39;title&#39;],
        template : `
          <div class="box">
            <p>我最初是一张白纸</p>
            <button @click="changeColor">我是{{parentid}}号按钮{{title}}</button>
          </div>
        `,
        methods: {
          changeColor(){
          //这个方法是触发父组件中的事件,第一个参数是触发的事件名称。第二个参数及以后是向changeColorEvent传的参数
           this.$emit(&#39;changeColorEvent&#39;,"orange")
           //发送多个参数可以直接跟在后面
           //this.$emit(&#39;changeColorEvent&#39;,"orange","white")
          }
        }
      }
    }
  }
</script>
<style scoped>

</style>
Copy after login

What are the several ways to pass values ​​in vue components?

4. Passing values ​​between non-parent components

Steps:

(1) Method 1.

① Create a public communication component (

Vue), and introduce the communication component into the component that needs to pass the value

② Bind an event in one

this.on('eventname', this. id)

③Trigger the event in another component

this.$ emit('eventname',( options)=>{ })

(2) Method 2,

Add public data in local storage, which can be obtained on two pages, change

[Related recommendations: "

vue.js tutorial"】

The above is the detailed content of What are the several ways to pass values ​​in vue 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

What scenarios can event modifiers in vue be used for? What scenarios can event modifiers in vue be used for? May 09, 2024 pm 02:33 PM

What scenarios can event modifiers in vue be used for?

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

See all articles