Vue3.0实现todolist(新建组件)

简介: Vue3.0实现todolist(新建组件)

参考文档

参考文档:https://blog.csdn.net/ll666888999/article/details/123789098

参考视频:https://www.imooc.com/learn/1300

官方文档查看文档:https://v3.cn.vuejs.org/


准备工作
  • 在views底下新建一个父组件Home.vue
  • 在components中创建三个文件夹,三个子组件navheader,navmain,navfooter

Home.vue里面开始写代码 代码主要内容如下

  • 把子组件引入到父组件当中

import NavHeader from ‘@/components/navHeader/NavHeader.vue’
import NavMain from ‘@/components/navMain/NavMain.vue’
import NavFooter from ‘@/components/navFooter/NavFooter.vue’
  • 把import从vue中解构出来

import {defineComponent} from ‘vue’
  • 定义组件

export default defineComponent({
  name: "Home",
  props: {},
  components: {
    NavHeader,
    NavMain,
    NavFooter,
  },
  setup(props, ctx) {
  },
});

vue3需要用到的东西要从vue中解构出来import {defineComponent} from ‘vue’

通过export default导出,调用defineComponent()方法export default defineComponent

传入一个对象的参数,这个对象就是组件的配置对象,组件名称name:‘Home’,接收父组件的数据props:{},定义子组件components:{}, setup(){return{}},


最重要的是setup函数,最终return一个对象,setup中传入两个参数接收父组件的数据props和上下文ctx


===============================================================


1:在views底下新建父组件Home.vue


Home.vue

<template>
  <div>
    <nav-header></nav-header>
    <nav-main></nav-main>
    <nav-footer></nav-footer>
  </div>
</template>
<script>
import NavHeader from "@/components/navHeader/NavHeader.vue";
import NavMain from "@/components/navMain/NavMain.vue";
import NavFooter from "@/components/navFooter/NavFooter.vue";
import { defineComponent} from "vue";
export default defineComponent({
  name: "Home",
  props: {},
  components: {
    NavHeader,
    NavMain,
    NavFooter,
  },
  setup(props, ctx) {
  },
});
// 组件内容在script标签中定义
// 定义组件defineComponent
// vue3需要用到的东西要从vue中解构出来 import {defineComponent} from 'vue'
// 通过export default导出,调用defineComponent()方法 export default defineComponent
// 传入一个对象的参数,这个对象就是组件的配置对象,组件名称name:'Home', 接收父组件的数据props:{}, 定义子组件components:{}, setup(){return{}},
// 最重要的是setup函数,最终return一个对象,setup中传入两个参数接收父组件的数据props和上下文ctx
</script>
<style>
</style>

2:在components中创建三个文件夹,文件夹下分别创建文件

三个子组件navheader,navmain,navfooter



NavFooter.vue

<template>
    <div>
       footer
    </div>
</template>
<script>
export default  ({
})
</script>
<style scoped>
</style>

NavHeader.vue

<template>
    <div>
       header
    </div>
</template>
<script>
export default  ({
})
</script>
<style scoped>
</style>

NavMain.vue

<template>
    <div>
      main
    </div>
</template>
<script>
export default  ({
})
</script>
<style scoped>
</style>

3:app.vue 需要修改

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <!-- <HelloWorld msg="Welcome to Your Vue.js App"/> -->
  <HomeView />
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
import HomeView from './views/Home.vue'
export default {
  name: 'App',
  components: {
    HelloWorld,
    HomeView
  }
}
</script>
<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

运行

相关文章
|
5天前
|
JavaScript 数据库
ant design vue日期组件怎么清空 取消默认当天日期
ant design vue日期组件怎么清空 取消默认当天日期
|
5天前
|
JavaScript C++
vue高亮显示组件--转载
vue高亮显示组件--转载
9 0
|
5天前
|
JavaScript 前端开发 开发者
Vue的事件处理机制提供了灵活且强大的方式来响应用户的操作和组件间的通信
【5月更文挑战第16天】Vue事件处理包括v-on(@)指令用于绑定事件监听器,如示例中的按钮点击事件。事件修饰符如.stop和.prevent简化逻辑,如阻止表单默认提交。自定义事件允许组件间通信,子组件通过$emit触发事件,父组件用v-on监听并响应。理解这些机制有助于掌握Vue应用的事件控制。
18 4
|
5天前
|
JavaScript 前端开发 UED
Vue class和style绑定:动态美化你的组件
Vue class和style绑定:动态美化你的组件
|
5天前
|
JavaScript
vue封装面包屑组件
vue封装面包屑组件
8 0
|
5天前
|
JavaScript 前端开发 API
深入理解vue组件生命周期,你一定要看到最后,最后有深入探讨
深入理解vue组件生命周期,你一定要看到最后,最后有深入探讨
|
5天前
|
JavaScript Go
VUE3+vite项目中动态引入组件和异步组件
VUE3+vite项目中动态引入组件和异步组件
|
5天前
|
缓存 算法 JavaScript
vue中组件保活<keep-alive>的使用
vue中组件保活<keep-alive>的使用
|
5天前
|
JavaScript 前端开发 UED
教你用vue自定义指令做一个组件的遮罩层loading效果
教你用vue自定义指令做一个组件的遮罩层loading效果
|
5天前
|
存储 JavaScript 前端开发
用Vue写一个简单好看的菜单组件(Vue实战系列)
用Vue写一个简单好看的菜单组件(Vue实战系列)