12 组件之间的通信

组件之间的通信

父子组件的通信

父组件通过props向子组件传递数据

子组件通过事件向父组件发送消息

<div id="app">
   <!--<cpn v-bind:cmovies="movies" :cmessage="message"></cpn>-->
   <cpn :cmessage="message"></cpn>
   <!--<cpn v-bind:cmovies="movies"></cpn>-->
</div>
<!--2. template标签-->
<template id="cpn">
   <div>
       <ul>
           <li v-for="item in cmovies">
               {{item}}
           </li>
       </ul>
       <h2>{{cmessage}}</h2>
   </div>
</template>

<script src="../js/vue.js"></script>
<script>
const cpn={
 template:'#cpn',
//  props:['cmovies','cmessage'],  传数组
 props:{
//    1. 类型限制
//    cmovies:Array,
//    cmessage:String,
   //2 .提供默认值 以及必传
   cmessage:{
     type:String,
     default:'aaaaa',   //没有传值时提供默认值
     required:true      //必须传值
   },
   cmovies:{
     type:Array,
     //类型是对象或者数组时,默认直必须是一个函数
     default(){
       return []
     }
   }

 },
 data(){
   return{
   }
 },
 methods:{
 }
};
//root组件
const app=new Vue({
 el:'#app',
 data:{
   message:'你好呀',
   movies:['海王','海贼王','海尔兄弟']
 },
//  语法糖 局部组件
 components:{
   cpn:cpn
 }
})

</script>
父传子props驼峰标识
<div id="app">
   <!--驼峰写法 大写用-小写代替-->
   <cpn v-bind:c-movies="movies" :c-message="message"></cpn>
   <!--<cpn :cMessage="message"></cpn>-->
   <!--<cpn v-bind:cmovies="movies"></cpn>-->
</div>
<!--2. template标签-->
<template id="cpn">
   <div>
       <ul>
           <li v-for="item in cMovies">
               {{item}}
           </li>
       </ul>
       <h2>{{cMessage}}</h2>
   </div>
</template>

<script src="../js/vue.js"></script>
<script>
const cpn={
 template:'#cpn',
//  props:['cmovies','cmessage'],  传数组
 props:{
//    1. 类型限制
//    cmovies:Array,
//    cmessage:String,
   //2 .提供默认值 以及必传
   cMessage:{
     type:String,
     default:'aaaaa',   //没有传值时提供默认值
     required:true      //必须传值
   },
   cMovies:{
     type:Array,
     //类型是对象或者数组时,默认直必须是一个函数
     default(){
       return []
     }
   }

 },
 data(){
   return{
   }
 },
 methods:{
 }
};
//root组件
const app=new Vue({
 el:'#app',
 data:{
   message:'你好呀',
   movies:['海王','海贼王','海尔兄弟']
 },
//  语法糖 局部组件
 components:{
   cpn:cpn
 }
})
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuhuimingc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值