Vue父组件向子组件传递数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
<!--    用v-bind传递父辈的数据-->
<!--    <cpn v-bind:cmovies="movies" :cmessage="message"></cpn>-->
    <cpn :cmessage="message" :cmovies="movies"></cpn>
</div>
<template id="cpn">
    <div>
    <h2>
        <ul>
            <li v-for="item in cmovies">{{item}}</li>
        </ul>
    </h2>
    <h2>{{cmessage}}</h2>
    </div>
</template>

<script src="../js/vue.js"></script>
<script>
    //父传子:props
    const cpn={
        template:`#cpn`,
        //通过数组
        //cmovies和cmeaage是变量
        // props:['cmovies','cmessage'],
        props:{
          // 类型限制 Array是数组类型
          // cmovies: Array,
          // cmessage:String,
        //    2.提供一些默认值
        //    default 传入失败的时候显示的内容
        //    required 设置为true,那么就必须传入这个值,否则报错
            cmessage:{
                type:String,
                default:'aaaaaa',
                required:true,
            },
            //类型是对象或者数组时,默认值必须是一个函数
            cmovies:{
                type:Array,
                default(){
                    return []
                },
            }
        },
        data(){
            return{

            }
        }
    }


    const app = new Vue({
        el:'#app',
        data:{
            message:'你好啊',
            movies:['aaa','bbb','ccc']
        },
        components:{
            cpn,
        }
    })
</script>

</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值