vue2.0 父子組件通訊 兄弟組件通訊

父組件是經過props屬性給子組件通訊的來看下代碼:vue

父組件:this

<parent>
    <child :child-com="content"></child> //注意這裏用駝峯寫法哦 </parent> data(){ return { content:'sichaoyun' }; }

子組件經過props來接受數據spa

第一種方法code

props: ['childCom']

第二種方法blog

props: {
    childCom: String //這裏指定了字符串類型,若是類型不一致會警告的哦 }

第三種方法事件

props: {
    childCom: {
        type: String,
        default: 'sichaoyun' } }

子組件與父組件通訊字符串

vue2.0只容許單向數據傳遞,咱們經過出發事件來改變組件的數據,廢話少說,上乾貨it

子組件代碼class

<template>
    <div @click="open"></div> </template> methods: { open() { this.$emit('showbox','the msg'); //觸發showbox方法,'the msg'爲向父組件傳遞的數據  } }

父組件test

<child @showbox="toshow" :msg="msg"></child> //監聽子組件觸發的showbox事件,而後調用toshow方法  methods: { toshow(msg) { this.msg = msg; } }

兄弟組件之間的通訊

咱們能夠實例化一個vue實例,至關於一個第三方

let vm = new Vue(); //建立一個新實例

組件他哥

<div @click="ge"></div> methods: { ge() { vm.$emit('blur','sichaoyun'); //觸發事件 } }

組件小弟接受大哥命令

<div></div>
created() {
  vm.$on('blur', (arg) => { this.test= arg; // 接收 }); }

搞定!

相關文章
相關標籤/搜索