首頁  >  文章  >  web前端  >  vue兄弟元件傳值有哪五種方法

vue兄弟元件傳值有哪五種方法

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-05-20 11:52:4721535瀏覽

五種方法為:1、父元件向子元件進行傳值;2、子元件向父元件進行傳值;3、父元件中的標籤上定義自訂事件,在事件內部取得參數;4、在子元件中觸發自訂事件,並傳參;5、透過公共元件Bus.js,進行傳參。

vue兄弟元件傳值有哪五種方法

本教學操作環境:windows7系統、vue2.9.6版,DELL G3電腦。

vue元件傳值的五種方法:

1、父元件向子元件進行傳值:

在子元件綁定父的數據,子元件透過props接受參數。

接下來我們透過一個例子,說明父元件如何傳遞值給子元件:在子元件Users.vue中如何取得父元件App.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
  }
}
//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>

2、子元件傳送值至父元件:

父元件內設定要傳的資料『data(){ id: 值}』

接下來我們透過一個例子,說明子元件如何向父元件傳遞值:當我們點擊“Vue.js Demo”後,子元件向父元件傳遞值,文字由原來的「傳遞的是一個值”變成“子向父元件傳值”,實作子元件向父元件值的傳遞。

vue兄弟元件傳值有哪五種方法

// 子组件
<template>
  <header>
    <h1 @click="changeTitle">{{title}}</h1>//绑定一个点击事件
  </header>
</template>
<script>
export default {
  name: &#39;app-header&#39;,
  data() {
    return {
      title:"Vue.js Demo"
    }
  },
  methods:{
    changeTitle() {
      this.$emit("titleChanged","子向父组件传值");//自定义事件  传递值“子向父组件传值”
    }
  }
}
</script>
// 父组件
<template>
  <div id="app">
    <app-header v-on:titleChanged="updateTitle" ></app-header>//与子组件titleChanged自定义事件保持一致
   // updateTitle($event)接受传递过来的文字
    <h2>{{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>

3、父元件中的標籤上定義自訂事件,在事件內部取得參數;

4、在子元件中觸發自訂事件,並傳參。 (this.$ emit('父元件中的自訂事件',參數))

5、透過公用元件Bus.js,進行傳參

【相關推薦:《vue.js教程》】

以上是vue兄弟元件傳值有哪五種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn