vue3入门_demo
新建项目参考:Vue vscode 创建 vue 项目流程【超详细】_vue vscode 创建 vue 项目流程【超详细】_怎么用vscode写vue_一颗不甘坠落的流_一颗不甘坠落的流星的博客-CSDN博客
demo参考:28_组件事件配合v-model使用_哔哩哔哩_bilibili
vue3创建项目时还可用命令:npm init vue@latest
项目结构:

App.vue:把多余的部分删除后如下
<template>
<Main></Main>
</template>
<script>
import Main from "./components/Main.vue"
export default {
components: {
Main
}
}
</script>
main.js:把原有引入的样式删除后如下
// 可以把原有的样式删除
import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')
Main.vue
<template>
<!-- 注意在vue中只能包含一个根元素 -->
<div>
<h3>main template</h3>
<Child @childEvent="childEventHandle"/>
<div>search content:{{ searchContent }}</div>
</div>
</template>
<script>
import Child from "./Child.vue"
export default {
data() {
return {
searchContent: ""
}
},
components: {
Child
},
methods: {
childEventHandle(date) {
this.searchContent = date
}
}
}
</script>
Child.vue
<template>
<div>
<h3>child template</h3>
<input type="text" v-model="search">
</div>
</template>
<script>
export default {
// 注意data不要写成date
data() {
return {
search: ""
}
},
watch: {
search(newVal, oldVal) {
this.$emit("childEvent", newVal)
}
}
}
</script>
在项目目录,执行npm run dev 运行

