当前位置: 首页 > news >正文

vue3 新手学习入门

Vue 3 是目前非常流行的前端框架,对于新手来说,学习它可以从基础概念开始,逐步掌握核心功能。以下是一个适合新手的学习路径和关键知识点:

一、准备工作

  1. 环境搭建

    • 安装 Node.js(建议 v16+),它包含 npm 包管理器
    • 推荐使用 Vue 官方的脚手架工具 create-vue 创建项目:

      bash

      npm create vue@latest
      
    • 按照提示选择需要的功能(如 TypeScript、Vue Router、Pinia 等)
  2. 开发工具

    • 推荐 VS Code + Volar 插件(Vue 3 官方推荐,替代 Vetur)

二、核心概念(基础)

1. Vue 实例与组件
  • Vue 3 中通过 createApp 创建应用实例:

    javascript

    import { createApp } from 'vue'
    import App from './App.vue'
    createApp(App).mount('#app')
    
  • 组件是 Vue 的基本单位,一个 .vue 文件就是一个组件,包含 3 部分:

    vue

    <template> <!-- 模板:HTML 结构 --><h1>{{ message }}</h1>
    </template><script> <!-- 逻辑:JavaScript 代码 -->export default {data() {return { message: 'Hello Vue!' }}}
    </script><style> <!-- 样式:CSS -->h1 { color: red; }
    </style>
    
2. 模板语法
  • 插值:使用 {{ }} 显示数据
  • 指令:以 v- 开头的特殊属性,如:
    • v-bind:属性="值"(简写 :属性):绑定 HTML 属性
    • v-if/v-else:条件渲染
    • v-for:列表渲染(需加 :key
    • v-on:事件="方法"(简写 @事件):绑定事件

vue

<template><img :src="imgUrl" :alt="message"><p v-if="showMessage">{{ message }}</p><ul><li v-for="item in list" :key="item.id">{{ item.name }}</li></ul><button @click="handleClick">点击</button>
</template>
3. 响应式数据
  • Vue 3 中使用 ref(基本类型)和 reactive(对象 / 数组)创建响应式数据:

    javascript

    <script setup>
    import { ref, reactive } from 'vue'// 基本类型
    const count = ref(0)
    count.value = 1 // 修改值需用 .value// 对象/数组
    const user = reactive({ name: 'Vue', age: 3 })
    user.age = 4 // 直接修改
    </script>
    
  • <script setup> 是 Vue 3.2+ 推荐的语法,简化组件代码。

三、核心概念(进阶)

1. 组件通信
  • 父传子:通过 props

    vue

    <!-- 父组件 -->
    <ChildComponent :msg="parentMsg" /><!-- 子组件 -->
    <script setup>
    const props = defineProps({msg: String
    })
    console.log(props.msg)
    </script>
    
  • 子传父:通过 emit

    vue

    <!-- 子组件 -->
    <script setup>
    const emit = defineEmits(['childEvent'])
    const handleClick = () => {emit('childEvent', '数据')
    }
    </script><!-- 父组件 -->
    <ChildComponent @childEvent="handleChildEvent" />
    
2. 生命周期钩子
  • 常用钩子(在 <script setup> 中使用):

    javascript

    import { onMounted, onUpdated, onUnmounted } from 'vue'onMounted(() => {console.log('组件挂载完成')
    })
    onUpdated(() => {console.log('组件更新完成')
    })
    onUnmounted(() => {console.log('组件卸载')
    })
    
3. 状态管理
  • 小型项目:使用 reactive + provide/inject
  • 中大型项目:使用官方推荐的 Pinia(Vuex 的替代者)

    javascript

    // store/counter.js
    import { defineStore } from 'pinia'
    export const useCounterStore = defineStore('counter', {state: () => ({ count: 0 }),actions: {increment() { this.count++ }}
    })
    

四、实战练习

  1. 制作一个简单的 Todo List 应用(涵盖增删改查)
  2. 使用 Vue Router 实现多页面跳转
  3. 集成 Axios 调用 API 获取数据

五、学习资源

  • 官方文档:Vue 3 官方文档(最权威)
  • 视频教程:B 站搜索「Vue 3 入门到精通」(推荐尚硅谷、黑马等机构的免费教程)
  • 练习平台:CodeSandbox、StackBlitz 可在线编写 Vue 代码

从基础开始,多写代码多练习,遇到问题先查文档,逐步就能掌握 Vue 3 的核心用法!

http://www.dtcms.com/a/312253.html

相关文章:

  • 【LeetCode 热题 100】(三)滑动窗口
  • 在线任意长度大整数计算器
  • 轻量级鼠标右键增强工具 MousePlus
  • 数据链路层、NAT、代理服务、内网穿透
  • 变频器实习DAY20 测试经验总结
  • WinForm之NumericUpDown控件
  • Noob靶机攻略
  • 力扣刷题日常(11-12)
  • linux编译基础知识-头文件标准路径
  • NX947NX955美光固态闪存NX962NX966
  • FreeRTOS源码分析二:task启动(RISCV架构)
  • 8.苹果ios逆向-安装frida
  • DBMS设计 之1 从DBMS 到数据中台
  • C语言-指针初级(指针定义、指针的作用、指针的计算、野指针、悬空指针、void类型指针)
  • Spring框架深度学习实战
  • ⭐CVPR2025 单目视频深度估计新框架 Seurat
  • 嵌入式系统的中断控制器(NVIC)
  • rosdep的作用以及rosdep install时的常用参数
  • 质数时间(二分查找)
  • ​​​​​​​第二十一天(CDN绕过)
  • EPICS aSub记录示例2
  • [学习笔记-AI基础篇]02_深度基础
  • Kotlin协程极简教程:5分钟学完关键知识点
  • 工业场景工服识别准确率↑32%:陌讯多模态融合算法实战解析
  • OpenVLA复现
  • 23th Day| 39.组合总和,40.组合总和II,131.分割回文串
  • Linux—进程状态
  • 深入 Go 底层原理(九):context 包的设计哲学与实现
  • 智能手表:电源检查
  • Java多线程详解(2)