$parent

  • App.vue

    <script>import Content from "./components/Content.vue";export default {  data() {    return {      message: '',    };  },  methods:{    getChildMsg:function (value){      console.log(value);      this.message=value    }  },  components:{    Content  }}</script><template><div>  <!--拿到子组件 Content 的msg数据 -->  <!--在父组件通过v-on监听自定义的子组件的自定义事件 -->  <Content @injectMsg="getChildMsg"> </Content>  <h2>{{message}}</h2></div></template>
  • Content.vue
<template>  <div>    <!--组件是能够复用 -->    <Hello_kugou :message="msg" static='56' :list="list" ref="hellokugou"></Hello_kugou>    <!--父子组件拜访形式 ,父组件拜访子组件 $refs $children-数组类型(vue2)-->    <!-- 子组件拜访父组件 $parent 尽量不必-->    <!-- 子组件拜访跟组件 $root-->    <p ref="p"></p>  </div></template><script>import Hello_kugou from "./Hello_kugou.vue";export default {  data(){//让每一个组件对象都返回一个对象,不对数据净化    return{      msg: 'hellokugoumsg',      list: [1,2,3],      a: 20    };  },  components:{    Hello_kugou  },  methods:{    // 在子组件理  $emit 触发事件    sendParent:function (){      //this.$emit('事件名称', '发送的事件参数')      this.$emit('injectMsg', this.msg)    }  },  mounted() {    //console.log(this.$refs);  },  name: "Content"}</script><style scoped></style>
  • Hello_kugou.vue
<template>  <div>    <h2>hello kugou</h2>    <h2>{{message2}}--调用父组件的变量</h2>  </div></template><script>export default {  data(){    return{      a: 10,    }  },  name: "Hello_kugou",  //props: ['message', 'static']  props:{    // message: String,//类型限度    // static: String    message2:{      type:String,      default:"nihhaokugou",      //required:true    },  },  mounted() {    console.log(this.$parent.a)  }}</script><style scoped></style>
  • 拿到了父组件的数据

  mounted() {    console.log(this.$parent.a)  }

$root