<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>lesson 18</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id="root"></div>
</body>
<script>
const app = Vue.createApp({
data() {
return { count:1 }
},
methods: {
handleAddOne() {
this.count += 1;
}
},
template:`
<div @handle=""><counter :count="count" @handle-click="handleAddOne" /></div>
`
});
app.component('counter',{
props:['count'],
emits:{
handleClick: (count)=>{
if(count > 0) {
return true;
}
return false;
}
},
methods: {
handleClick() {
this.$emit('handleClick');
}
},
template:`
<div @click="handleClick">{{count}}</div>
`
});
app.mount('#root');
</script>
</html>