父传子数据
- 子组件在props里面定义一个数组
- 父组件通过绑定子组件中props的值,来进行传递数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
{{message}}
<cpn :cmovies="movies"></cpn>
</div>
<script src="../vue.js"></script>
<template id="cpn">
<div>
{{cmovies}}
</div>
</template>
<script>
// 父传子数据通过props传递
const cpn = {
template: '#cpn',
props: ['cmovies',],
}
const app = new Vue({
el: '#app',
data: {
message: 'hello',
movies: ['海贼王','海王','天下无紫萼']
},
components: {
cpn
}
})
</script>
</body>
</html>
子传父通信
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
{{message}}
<cpn @cpnup="getcpn"></cpn>
</div>
<script src="../vue.js"></script>
<template id="cpn">
<div>
<button v-for="item in categeries" @click="cpnclick(item)">{{item.name}}</button>
</div>
</template>
<script>
const cpn = {
template: '#cpn',
data() {
return {
categeries: [
{id:1,name:'手机'},
{id:2,name:'电脑'},
{id:3,name:'电视机'},
{id:4,name:'空调'},
]
}
},
methods: {
cpnclick(item){
console.log(item)
this.$emit('cpnup',item)
}
}
}
const app = new Vue({
el: '#app',
data: {
message: 'hello',
},
components: {
cpn
},
methods: {
getcpn(item) {
console.log('aaaaa',item)
}
}
})
</script>
</body>
</html>