🤠vue基础知识
type
status
date
slug
summary
tags
category
icon
password
vue学习过程中的笔记
vue快速回忆
pnpm create vue
— cd — pnpm install — pnpm dev Vue2 笔记
- 渐进式的渲染框架
- 创建实例
- 差值表达式: {{}} 让括号里面能走代码返回值,仅做展示用
- 数据响应式的处理: 底层Dom操作
- 调试: vue 插件 操作
- vue指令(v-前缀 + 标签属性)
- v-html 为动态显示隐藏 innerhtml,内嵌标签
- v-show=”表达式” true 显示 false隐藏
- v-if(条件渲染)=”表达式” v-else(-if) true 显示 false移除
- v-on: <button v-on:click="count++">+</button>
- <img v-bind:src="imgUr1" alt="变量"> 将imgUr1的值赋给src
- v-for=“(每一项, 下标) in 数组”
- v-model: 双向绑定 许多表单属性都可以
v-on: <button @click="count++">+</button>
v-on: <button @click="fn">+</button>
v-on: <button @click="fn(参数1,参数2)">+</button>
<img :src="imgUr1" alt="变量"> 将imgUr1的值赋给src
<li v-for="(item, index) in booksList":key="item.id">
账户: <input type="text" v-model="username"> <br><br>
- 指令修饰符
- <input @keyup.enter="fn” v-model="username” type="text">强制回车
- <input v-model.trim="username"type="text"><br>强制输入的空格
- <input v-model.number="age" type="text"><br> 强制输入为数字
- <a @click.prevent href="http://www.baidu.com">阻止默认行为</a>
- 样式控制的增强
- 类名来回切换
<div class="box":class="{ pink: true,big: true }></div>
<div class="box”:class="['pink',big']"></div>
- 计算属性:有点只要返回值那味
- 监视 watch 完整写法
- 请求
- 初始化界面的请求: 一进界面直接渲染 create
一进界面获取焦点
- 工程化开发 vue cli : 集成了webpack 配置
根组件 == 普通组件
vetur 高亮代码 less less-loader
- 普通组件的注册用户使用 局部注册 全局注册main.js
- 组件的css: scope
- 组件的 data 选项必须是一个函数。 保证每个组件实例,维护独立的一份数据对象。
- 组件通信
父子关系 props(父传子) 和 $emit(子传父)
非父子关系 provide & inject eventbus
通用解决方案: Vuex (适合复杂业务场景 )
- ref $refs 当前组件内查找dom元素 mounted
19 . 异步更新和$nextTick
- v-loading 加载过程中
- 自定义指令: 封装dom操作
1.通过指令的值相关语法,可以应对更复杂指令封装场景
2.指令值的语法
0v-指令名 ="指令值",通过 等号 可以绑定指令的值@ 通过 binding.value 可以拿到指令的值3 通过 update 钩子,可以监听指令值的变化,进行dom更新操作
22. 插槽 - 默认插槽
作用:让组件内部的一些 结构 支持 自定义
多个: 具名(字)插槽
作用域插槽: 传参
- 单页应用程序: 移动端站点 系统类 内部网站
- vue-router 路由的使用 view文件夹下 router-link代替a
- ESLint 自动修正
- vueX 是 数据管理 mutation是修改 mapMutations
vue3
参数与函数
setup 引起的define
- 因为setup 所以就得用 optionAPI 组件名 name等 defineOptions
- defineModel 子想要有model给别人用?
- props 与 emits
通信
- 父子通信:父传子
- 父子通信:子传父
- 像父组件暴露组件
- 通过ref标识获取dom对象或者组件实例对象。空ref绑定
- 跨层传递 底拿数据拿方法 父子组件之间进行依赖注入,提供了一种共享数据和方法的方式 。
emit
和@
用于在组件之间进行通信,允许组件之间触发自定义事件和监听事件的发生,更多是监听。
Pinia
pinia 状态管理工具 替代vueX mutation与action 二合一了
- 安装依赖 导入pinia
- 也支持 action 异步请求 syns await
- 持久话:保存到本地 安装插件
项目实战
Vue3 Pinia Pinia持久化处理 ElementPlus组件
pnpm Eslint(格式)+prettier(美观) husky(git hooks工具) 提交前校验
VueRouter4 路由设计 大模型
需求:
登陆注册,添分类,发文章(检索),个人中心(昵称头像)
npn → yarn → pnpm
基本配置:环境同步:eslint与# 后台数据管理系统 - 项目架构设计
git
element-ui 安装好后直接使用即可
默认 components 下的文件也会被自动注册
配置 — 路由 — 组件 — Pinia — axios —整体路由设计
由设计完后,App.vue下要存 <router-view></router-view>
Login界面分析
默认 components 下的文件也会被自动注册
配置 — 路由 — 组件 — Pinia — axios —整体路由设计
由设计完后,App.vue下要存 <router-view></router-view>
vue商城项目
- 报错: yarn config set registry https://registry.npm.taobao.org/
- ctrl shift p
- vant2组件库
- 将 px 变成 vw
- 为什么要重置less默认样式
- 路由设计 路由配的规则就是数组里面包对象
- 我们会使用 axios 来请求后端接口, 一般都会对 axios 进行一些配置 (比如: 配置基础地址,请求响应拦截器等等)
- // 添加响应拦截器 失败统一处理 错误信息在请求里面
- 返回特征权证,存入vuex,本地存储
- 优化:添加请求 loading 效果
- 对于支付页,订单页等,必须是登录的用户才能访问的,游客不能进入该页面,需要做拦截处理。路由前置守卫
- 静态渲染 + 动态渲染
- copilot
上一篇
python进阶知识点
下一篇
代码整洁之道
Loading...