父传子:

子组件使用props接收父组件的值

父组件(test.vue):

 1    <template>
 2   <!-- 父传子 -->
 3  <div class="container">
 4     父组件:<input type="text" v-model="value">
 5     <!-- 引入子组件 -->
 6     <com-b :zhangsan="value"></com-b>
 7  </div>
 8 </template>
 9 
10 <script>
11 import comB from '@/components/com-b'
12 export default {
13  data() {
14   return {
15     value:''
16   }
17  },
18  methods:{
19    
20  },
21  components: {
22    comB
23  }
24 }
25 </script>
父组件代码

子组件(com-b.vue)在component文件夹中创建:

 1 <template>
 2  <div class="container">
 3    <!-- 这是子组件 -->
 4    <div>{{zhangsan}}</div>
 5  </div>
 6 </template>
 7 
 8 <script>
 9 export default {
10  data() {
11   return {
12   }
13  },
14  props:['zhangsan'],
15  methods:{
16    
17  },
18 }
19 </script>
子组件代码

子传父:

子传父需要事件触发

子组件(com-b.vue)在component文件夹中创建:

 1 <template>
 2  <div class="container">
 3    <!-- 这是子组件 -->
 4    <!-- 点击按钮后将自组件的数据传给父组件 -->
 5   {{msg}}
 6    <button @click="ClickEvent()">点击自组件发送数据给父组件</button>
 7  </div>
 8 </template>
 9 
10 <script>
11 export default {
12  data() {
13   return {
14     msg:'我是自组件数据'
15   }
16  },
17  methods:{
18    //点击事件
19    ClickEvent(){
20      //this.$emit('监听事件','要传递的值')
21      this.$emit('listenEvent',this.msg)
22    }
23  },
24 }
25 </script>
子组件代码

父组件(test.vue):

 1   <!-- 子传父 -->
 2  <template>
 3  <div class="container">
 4   <!-- 引入自组件-->
 5    <!-- 在父组件中使用传递的事件进行监听,回调函数fn -->
 6    <!-- 事件可以自定义,回调函数也可以自定义 -->
 7   <com-b @listenEvent="fn"></com-b>
 8    {{value}}
 9  </div>
10 </template>
11 
12 <script>
13 import comB from '@/components/com-b'
14 export default {
15  data() {
16   return {
17     value:''
18   }
19  },
20  methods:{
21   //函数接收一个参数,这个参数就是子组件传递的参数
22    fn(data){
23      this.value=data
24      console.log(data)
25    }
26  },
27  components: {
28    comB
29  }
30 }
父组件代码

 

posted on 2020-08-12 14:55  小菟同学  阅读(706)  评论(0编辑  收藏  举报

……