标签:vue 子父 name comp price Vue 组件 book
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
<comp @cbookclick='onbookclick'> </comp>
</div>
<template id="comp">
<div id="">
<p>{{message}}</p>
<button type="button" v-for="book in books" @click="onclick(book)">{{book.name}}</button>
</template>
<script>
// 子组件
const comp = Vue.extend({
template: '#comp',
data() {
return {
message: 'Hello Vue.js!',
books: [{
name: 'HTML/HTML5基础',
price: 15.5,
},
{
name: '高健壮性CSS',
price: 16.5,
},
{
name: '深入学习JS',
price: 17.5,
},
]
}
},
methods: {
onclick(book) {
console.log('onclick ' + book.name);
// 发送信号给父组件
this.$emit('cbookclick');
}
}
})
// root
const app = new Vue({
el: '#app',
components: {
comp,
},
methods: {
onbookclick() {
console.log('onbookclick');
}
}
})
</script>
</body>
</html>
标签:vue,子父,name,comp,price,Vue,组件,book 来源: https://www.cnblogs.com/zhangxuechao/p/14976101.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。