如何定义一个组件:
以home.vue为例
vue3用到的组件都从vue解构,es6提供的语法。
定义组件defineComponent
export default导出 调用defineComponent(方法{参数})
es6模块化 import export
ctx:上下文
export default defineComponent({
//传对象的参数
name:'home',//组件名称
//接收父组件的数据
props:{},
//定义子组件
components:{
},
setup(props,ctx){
return{
}
}
})
实现tolist所需的4个组件
//父组件
<template>
<div>
<nav-header></nav-header>
<nav-main></nav-main>
<nav-footer></nav-footer>
</div>
</template>
<script>
// @ is an alias to /src
import NavHeader from '@/components/NavHeader';
import NavMain from "@/components/NavMain";
import NavFooter from "@/components/NavFooter";
import { defineComponent } from "vue";
export default defineComponent({
name: "home", //组件名称
//接收父组件的数据
props: {},
//定义子组件
components: {
NavHeader,
NavMain,
NavFooter
},
setup(props, ctx) {
return {};
}
});
</script>
//子组件1
<template>
<div>
header
</div>
</template>
<script>
export default{
}
</script>
<style scoped lang='scss'>
</style>
//子组件2
<template>
<div>
main
</div>
</template>
<script>
export default{
}
</script>
<style scoped lang='scss'>
</style>
//子组件3
<template>
<div>
footer
</div>
</template>
<script>
export default{
}
</script>
<style scoped lang='scss'>
</style>