LLEARNING NOTES

技术 · 思考 · 实践 · 成长

首页/Vue2/正文

父子组件通信

Vue2601 次阅读



<!DOCTYPE html>

<html>

<head>

<title>父子组件通信</title>

<meta charset="utf-8">

</head>

<body>

<div id="app">

<!-- <cpn v-bind:cmovies="movies" :cmessage="message"></cpn> -->

<!-- <cpn v-bind:cmovies="movies" ></cpn> -->

<cpn v-bind:cmovies="movies" :cmessage="message"></cpn>

</div>

<!-- 子组件模板 -->

<template id="cpn">

<div>

<!-- <ul>

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

</ul> -->

{{cmovies}}

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

</div>

</template>


<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

<script type="text/javascript">

// 父传子 props 

const cpn = {

template:'#cpn',

// 第一种

//props:['cmovies','cmessage']

props:{

// 第二种

// cmovies:Array,

// cmessage:String,

// 第三种

cmessage:{

type:String,

default:'aaaaa',// 默认值

required:true // 必传

},

// 类型是对象或数组时,默认值必须是一个函数

cmovies:{

type:Array,

default(){

return []

}

}

},


data(){

return {}

}

}

let app = new Vue({

el:"#app",

data:{

message:'你好',

movies:['海王','海贼王','海大王']

},

components:{

//'cpn':cpn 等价于 cpn写法

cpn 

}

})

</script>

</body>

</html>


所谓坚持,就是从种子种下到开花结果需要等待的时间。

评论交流

理性讨论,共同进步
验证码

相关文章

继续阅读