计算机网络/计算机科学与应用/系统/运维/开发

父子组件通信



<!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>


人生活在得失之间,得亦是失,失亦是得。

评论

^