🤠vue基础知识

type
status
date
slug
summary
tags
category
icon
password
💡
vue学习过程中的笔记

vue快速回忆

pnpm create vue — cd — pnpm install — pnpm dev
notion image
notion image

Vue2 笔记

  1. 渐进式的渲染框架
  1. 创建实例
    1. 差值表达式: {{}} 让括号里面能走代码返回值,仅做展示用
    1. 数据响应式的处理: 底层Dom操作
    1. 调试: vue 插件 操作
    1. vue指令(v-前缀 + 标签属性)
      1. v-html 为动态显示隐藏 innerhtml,内嵌标签
      2. v-show=”表达式” true 显示 false隐藏
      3. v-if(条件渲染)=”表达式” v-else(-if) true 显示 false移除
      4. v-on: <button v-on:click="count++">+</button>
        1. v-on: <button @click="count++">+</button>
          v-on: <button @click="fn">+</button>
          v-on: <button @click="fn(参数1,参数2)">+</button>
      5. <img v-bind:src="imgUr1" alt="变量"> 将imgUr1的值赋给src
        1. <img :src="imgUr1" alt="变量"> 将imgUr1的值赋给src
      6. v-for=“(每一项, 下标) in 数组”
        1. <li v-for="(item, index) in booksList":key="item.id">
      7. v-model: 双向绑定 许多表单属性都可以
        1. 账户: <input type="text" v-model="username"> <br><br>
    1. 指令修饰符
      1. <input @keyup.enter="fn” v-model="username” type="text">强制回车
      2. <input v-model.trim="username"type="text"><br>强制输入的空格
      3. <input v-model.number="age" type="text"><br> 强制输入为数字
      4. <a @click.prevent href="http://www.baidu.com">阻止默认行为</a>
      5. notion image
    1. 样式控制的增强
      1. 类名来回切换
        1. <div class="box":class="{ pink: true,big: true }></div>
          <div class="box”:class="['pink',big']"></div>
    1. 计算属性:有点只要返回值那味
    1. 监视 watch 完整写法
      1. notion image
    1. 请求
      1. notion image
    1. 初始化界面的请求: 一进界面直接渲染 create
      1. notion image
        一进界面获取焦点
        notion image
    1. 工程化开发 vue cli : 集成了webpack 配置
      1. 根组件 == 普通组件
        vetur 高亮代码 less less-loader
    1. 普通组件的注册用户使用 局部注册 全局注册main.js
    1. 组件的css: scope
    1. 组件的 data 选项必须是一个函数。 保证每个组件实例,维护独立的一份数据对象。
    1. 组件通信
      1. 父子关系 props(父传子) 和 $emit(子传父) 非父子关系 provide & inject eventbus 通用解决方案: Vuex (适合复杂业务场景 )
    1. ref $refs 当前组件内查找dom元素 mounted
      1. notion image
    19 . 异步更新和$nextTick
    1. v-loading 加载过程中
    1. 自定义指令: 封装dom操作
      1. 1.通过指令的值相关语法,可以应对更复杂指令封装场景 2.指令值的语法 0v-指令名 ="指令值",通过 等号 可以绑定指令的值@ 通过 binding.value 可以拿到指令的值3 通过 update 钩子,可以监听指令值的变化,进行dom更新操作
        notion image
    22. 插槽 - 默认插槽
    作用:让组件内部的一些 结构 支持 自定义
    notion image
    多个: 具名(字)插槽
    notion image
    作用域插槽: 传参
    1. 单页应用程序: 移动端站点 系统类 内部网站
      1. vue-router 路由的使用 view文件夹下 router-link代替a
        1. notion image
    1. ESLint 自动修正
      1. notion image
    1. vueX 是 数据管理 mutation是修改 mapMutations
      1. notion image
     

    vue3

    参数与函数

    setup 引起的define

    1. 因为setup 所以就得用 optionAPI 组件名 name等 defineOptions
      1. notion image
    1. defineModel 子想要有model给别人用?
      1. notion image
        notion image
    1. props 与 emits
      1. notion image

    通信

    1. 父子通信:父传子
      1. notion image
    1. 父子通信:子传父
      1. notion image
    1. 像父组件暴露组件
      1. notion image
    1. 通过ref标识获取dom对象或者组件实例对象。空ref绑定
      1. notion image
    1. 跨层传递 底拿数据拿方法 父子组件之间进行依赖注入,提供了一种共享数据和方法的方式 。emit@用于在组件之间进行通信,允许组件之间触发自定义事件和监听事件的发生,更多是监听。
      1. notion image
        notion image

    Pinia

    pinia 状态管理工具 替代vueX mutation与action 二合一了
    1. 安装依赖 导入pinia
      1. notion image
    1. 也支持 action 异步请求 syns await
      1. notion image
        notion image
    1. 持久话:保存到本地 安装插件
     
     

    项目实战

    Vue3 Pinia Pinia持久化处理 ElementPlus组件
    pnpm Eslint(格式)+prettier(美观) husky(git hooks工具) 提交前校验
    VueRouter4 路由设计 大模型
    需求:
    登陆注册,添分类,发文章(检索),个人中心(昵称头像)
     
    npn → yarn → pnpm
    基本配置:环境同步:eslint与# 后台数据管理系统 - 项目架构设计
    git
    element-ui 安装好后直接使用即可
    默认 components 下的文件也会被自动注册
    notion image
    配置 — 路由 — 组件 — Pinia — axios —整体路由设计
    由设计完后,App.vue下要存 <router-view></router-view>
    Login界面分析
    默认 components 下的文件也会被自动注册
    notion image
    配置 — 路由 — 组件 — Pinia — axios —整体路由设计
    由设计完后,App.vue下要存 <router-view></router-view>
     
     
     
     
     

    vue商城项目

    1. 报错: yarn config set registry https://registry.npm.taobao.org/
    1. ctrl shift p
    1. vant2组件库
    1. 将 px 变成 vw
    1. 为什么要重置less默认样式
    1. 路由设计 路由配的规则就是数组里面包对象
      1. notion image
    1. 我们会使用 axios 来请求后端接口, 一般都会对 axios 进行一些配置 (比如: 配置基础地址,请求响应拦截器等等)
    1. // 添加响应拦截器 失败统一处理 错误信息在请求里面
    1. 返回特征权证,存入vuex,本地存储
    1. 优化:添加请求 loading 效果
    1. 对于支付页,订单页等,必须是登录的用户才能访问的,游客不能进入该页面,需要做拦截处理。路由前置守卫
    1. 静态渲染 + 动态渲染
    1. copilot
    上一篇
    python进阶知识点
    下一篇
    代码整洁之道
    Loading...
    文章列表
    一枚热爱技术与产品的产品经理
    基本信息
    薯塔AI
    产品修炼
    技术分享
    编码知识
    AI相关
    行业知识