速成Vue,自己看

1-快速上手VUE项目

2-整体理解Vue3项目

3-理解数据双向绑定

双向绑定是Vue最为核心的功能。简单理解就是<template>中的页面数据和<script>中的脚本数据进行绑定,其中任何一个数据发生了变化,另一个数据也随之发生变化。

1、vue2语法的双向绑定

4-双向绑定案例

vue2示例

5-OptionsAPI和CompositionAPI

vue2使用的选项/配置API vue3使用的混合/组合API

组合API

hr-----------------------------------------------------------------------

6-Vue3的数据双向绑定

拆包:

数据用ref

对象用reactive

引用对象用toRef toRefs

给输入框设ref

ref=name-----name代表ref本身

1个.value------代表输入框

2个.value-------代表输入框里面的值

getAttribute获取某某的值

7-自定义组件传参

hr-----------------------------------------------------------------------------------

defineExpose()暴露自定义的值出去,暴露给父组件

defineProps()父组件传到子组件

给自定义设ref的话

ref="salaryInfo"

salaryInfo代表ref本身

1个.value代表自定义本身

hr-----------------------------------------------------------------------------------

hr--------------------------------------------------------------------------------------

8-组件生命周期

每个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到DOM,以及在数据改变时更新DOM。在此过程中,它也会运行被称为生命周期钩子的函数,让开发者有机会在特定阶段运行自己的代码。

生命周期有四个阶段:创建,挂载,更新,销毁。每个阶段有一前一后两个函数

OptionsAPI的生命周期函数:

●创建阶段:beforecreate、created

●挂载阶段:beforeMount、mounted

●更新阶段:beforeUpdate、updated

●销毁阶段:beforeDestroy、destroyed

CompositionAPI的生命周期函数:

●创建阶段:setup

●挂载阶段:onBeforeMount、onMounted

●更新阶段:onBeforeUpdate、onUpdated

●卸载阶段:onBeforeUnmount、onUnmounted

实例

TypeScript 复制代码
<template>
    <div>
        薪水:<input type="number"v-model="salary"/><br />
        <button@click="addsum">薪水+1ooe</button>
    </div>
</template>

<!-- vue3写法-->
<script lang="ts"setup>
    import{
        ref,
        onBeforeMount,
        onMounted,
        onBeforeUpdate,
        onUpdated,
        onBeforeUnmount,
        onUnmounted
    }from'vue'
    //数据
    let salary = ref(e)
    //方法
    function addsum(){
        salary.value += 1000
    }
    console.log('setup')
    //生命周期钩子
    onBeforeMount((=>{
        console.log('挂载之前')
    }
    onMounted(()=>{
        console.log('挂载完毕')
    }
    onBeforeUpdate(()=>{
        console.log('更新之前')
    }
    onUpdated(()=>{
        console.log('更新完毕')
    }

    onBeforeUnmount((=>{
        console.log('卸载之前')
    }
    onUnmounted((=>{
        console.log('卸载完毕')
    }

9-路由插件基础使用

npm install vue-router@4

main.ts

TypeScript 复制代码
import'./assets/main.css'
import{createApp }from'vue'
import App from'./App.vue'
import {createRouter,createwebHistory} from'vue-router'
import HomePage from "@/pages/HomePage.vue"
import AboutPage from"@/pages/AboutPage.vue"
import NewsPage from"@/pages/NewsPage.vue"

//1、配置路由规则
const routes=[
    {path:"/home", component:HomePage},
    {path:"/about",component: AboutPage},
    {path:"/news",component:NewsPage},
]
//2、创建路由器
const router = createRouter({
    history:createwebHistory(),//路由工作模式
    rotes
)}
//3、加载路由器
const app =  createApp(App)
app.use(router)

app.mount('#app')

10-路由工作模式和replace属性

11-pinia集中状态存储

npm install pinia

TypeScript 复制代码
import'./assets/main.css'
import{createApp }from'vue'
import App from'./App.vue'
import {createRouter,createwebHistory} from'vue-router'
import HomePage from "@/pages/HomePage.vue"
import AboutPage from"@/pages/AboutPage.vue"
import NewsPage from"@/pages/NewsPage.vue"

//1、配置路由规则
const routes=[
    {path:"/home", component:HomePage},
    {path:"/about",component: AboutPage},
    {path:"/news",component:NewsPage},
]
//2、创建路由器
const router = createRouter({
    history:createwebHistory(),//路由工作模式
    rotes
)}
//3、加载路由器
const app =  createApp(App)
app.use(router)
//4、状态存储
import { createPinia } from 'pinia'
const pinia = createPinia()
app.use(pinia)

app.mount('#app')

12-路由嵌套和路由传参

13-快速上手element-plus

相关推荐
willes2 分钟前
列表中的倒计时组件
前端
LVZ4 分钟前
用了半年 AI 写代码,最烦的不是代码,是环境
前端·后端·开源
polaris_tl5 分钟前
一行 `compress: false`,为什么让 SSE 首包恢复实时返回
前端
海边的云7 分钟前
别再让 AI 瞎改代码:一套让大模型「收敛」的前端专家 Skill》
前端
kisshyshy7 分钟前
给端侧大模型装上“发动机”:React 合成事件 + 进度条组件全解
前端·react.js·node.js
hunterandroid18 分钟前
DataStore 工程化实践:迁移、并发更新与异常恢复
android·前端
晓说前端19 分钟前
TypeScript 核心语法进阶 —— 字面量类型与类型推论
前端·typescript
不简说1 小时前
JS 代码技巧 vol.8 — 20 个函数式编程实战,把 if/else 拍扁的骚操作
前端·javascript·面试
头茬韭菜1 小时前
4.9 SSRF 防护 — Web 工具的出站安全与私有 IP 拦截
前端·tcp/ip·安全
Cobyte1 小时前
模板 DSL 解析器中的状态机设计
前端·javascript·vue.js