组件 父子通信 父传子(props)

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>vue学习</title>

</head>

 

<body>

    <div id="app">

      <cpn :cmovies="movies"  :cmessage="message"></cpn>

    </div>

   <template id="cpn">

       <ul>

           <li v-for="item in cmovies">{{item}}</li>

           <p>{{cmessage}}</p>

       </ul>

   </template>

</body>

<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:'默认的',

            required:true//必传的

        },

        // 类型是Object或者Array时,默认值必须是一个函数

        cmovies:{

            type:Array, 

            default(){

                return []

            }

        }

 

    }

  

}

// root组件

const app = new Vue({

    el:"#app",

    components:{

        cpn//相当于'cpn':cpn 

    },

    data:{

        movies:['大鱼海棠','雪国列车','海王'],

        message:'when you are gone'

    }

});



 

</script>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值