vue常用知识总结

2023-11-16

vue常用知识总结

vue简介

vue 响应式原理:Object.defineProperty。

vue 的作者:尤雨溪 java 出身。

vue 是什么:以数据驱动视图的单页面(spa)渐进式 MVVM 框架。 特性:数据双向绑定

模块化开发:为了不让所有的代码放在同一文件内看着不舒服(降低开发时间,提高开发效率),每个部分都是一个独立的文件,哪里使用就引入到哪里,目的是好控制,减少代码复用

vue常用指令

-v-text 渲染文本,等价插值写法 插值:{{内容}}

v-html 既可以渲染文本还可以渲染字符串类型的dom片段

v-for 循环渲染 使用它必须加:key="index",key的存在是为了给底层的diff算法做优化

v-if 条件渲染 根据返回值是true或者false来控制元素的加载与销毁,由于可以销毁元素,故可以触发生命周期

v-show 条件渲染 控制元素的css中的display样式,让元素显示隐藏,不触发生命周期

v-model 数据双向绑定指令,常用于表单元素上,核心指令,另外他还是父子双向通信的一种方式

v-bind 给元素绑定属性的指令,缩写是:也是父组件向子组件传递参数的一种方式

v-on 给元素绑定事件的指令,缩写是@可以绑定原生事件,也可以绑定

v-cloak : 防止刚开始加载页面闪烁, 与 css 配合: [v-cloak] { display: none }

v-pre 跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache 标签

vue 的常用 api 组成部分

data:存数据的, 里面的数据被响应式监听 methods:写函数方法的,用于事件的回调函数

components:挂载,注册子组件

name:当前组件的名称,名字必须和文件名一样 (递归组件时必须要有 name)

wach:监听器,默认对监听的简单数据做响应,如果是较为复杂的数组或者对象则需要开启深度监听

computed:计算属性,对一个数据进行监听,并且返回一个新的数据,默认是只读的,如果需要修改则需要传入一个 set 函数

filter:过滤器,。在不修改源数据的情况下得到处理后的值,并且可以用管道符(|)使用多个过滤器

directive:自定义指令,用于指令扩展,举例给 input 添加自动获取焦点

通信方式

父传子:父组件使用v-bind给子组件添加一个自定义属性,自定义属性接收一个数据,子组件使用props接收该数据

子传父:父组件v-on绑定自定义函数,子组件$emit调用函数

父子双向通信:v-model父向子传入value值和input方法

生命周期

八个函数中最常用的一个钩子函数:mounted发起ajax请求

创建阶段

beforeCreate创建前	第一次加载页面时执行(一次性)
created创建后

挂载阶段

beforeMount挂载前 第一次加载页面时执行(一次性)
mounted挂载
当组件被展示在html里面的时候 就执行 用于自动发起请求等操作

更新阶段

beforeUpdate更新前
无论是自己还是父组件  当data或者props的数据被修改时触发
该阶段函数中 不可以修改data数据
updated更新后

卸载阶段

当父组件使用v-if控制当前组件不显示时 意味着该组件被销毁了
beforeDestroy卸载前
用于清理销毁全局变量或者常驻内容的垃圾数据 比如定时器
destroyed卸载后

插槽

slot,允许再子组件内插入dom片段,将子组件作为模板去使用

内置组件

<slot>插槽</slot>
<component is='动态组件'>
<keep-alive>缓存组件</keep-alive>
<template>存放dom的容器</template>

脚手架

设置打包后的基础路径:publicPath 代理跨域:proxy 自定义函数和组件 自定义函数用于组件通信,使用v-on绑定自定义函数
自定义组件就是后缀为.vue的文件 (文件首字母要大写)

过滤器

全局filter 组件filters 在不修改源数据的情况下对数据进行处理,并返回一个新的内容 语法:{{data | filte}}

自定义指令

全局directive 组件directives 页面打开后给input绑定一个自动获取焦点事件函数

插件的开发

开发插件:一个对象必须用install属性接收一个函数,该函数接收一个vue构造器,然后使用该构造器去开发插件
使用插件:Vue.use(plugin);

修饰符

指令修饰符:v-model:.number将值转为数字,.lazy失去焦点后才同步数据,.trim把内容里的所有空格全部清除

事件修饰符:.once让事件只执行一次 .stop阻止冒泡事件 .prevent阻止默认事件 .native绑定原生事件

native场景:在自定义组件上绑定click绑定不上的时候加这个修饰符,还要ui库里的组件

键盘修饰符:.13回车/.enter回车 .ctrl 属性修饰符:.sync让子组件直接使用$emit修改父组件传过去的值

鼠标修饰符:.right监听鼠标右键 .left监听鼠标左键

计算属性和监听器

computed
1.对数据或者属性进行监听操作,但是不能修改,对操作后的数据进行返回,并得到一个新值
2.不受数据类型的影响,只要被监听的数据发生了改变,计算属性就会触发

watch
1.只是对数据或属性进行监听,没有返回值
2.受数据类型影响,当监听的是数组或者对象的时候需要开启深度监听

vue-router路由

配置方式

mode:history和hash history是h5封装的的新api,在ie9以下不兼容 hash兼容所有的

routes

嵌套路由:基于同一个根地址,所有的子路由 children里,每个子路由都有自己对应的页面/自定义组件
** 动态路由**:同一个匹配可以匹配到多个地址,基于同一个根地址,所有匹配成功的地址使用的页面是同一个

重定向:redirect:地址
name:命名路由,给路由取一个名字
别名:alias 给当前的路由取一个或者是多个名称 单个:alias:“lala” 多个alias:[“lala”,"/",""djai]
元信息:meta用于做路由权限的标记

跳转方式

声明式:标签router-link 编程式:this.$router:{push,replace,go,back}
router和route的区别:router是路由的实例对象 route是当前的路由信息

传参方式

query:在地址栏用类似于get的请求方式+去传参,没有限制
params:隐式和显式,显式就是动态路由,隐式就是使用params传递一个任意的数据,并且该数据在页面刷新后会丢失

路由守卫

全局的前置路由守卫:beforeEach 组件内的路由守卫:离开前beforeRouteLeave和更新beforeRouteUpdate

Vuex全局状态管理器

vuex的问题:数据存在内存里,刷新页面就丢了 解决问题:使用插件把数据存在本地存储里 state
全局状态存放的地方,核心,等价于组件里的data getters 用于计算处理state的,等价于组件里的computed
mutations 专门用于修改state的,并且只能执行同步代码 使用commit调用该函数 actions
专门用于执行异步代码的,比如ajax请求 自身不可以直接修改state,可以调用mutations方法去修改state
使用dispatch调用

数据持久化

vuex里面存放的数据,页面一经刷新会丢失: 解决办法:
存放在localStorage或者sessionStorage里面,进入页面时判断是否丢失,丢失再去localStorage或者sessionStorage里面取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue常用知识总结 的相关文章

  • vue+C#后台上传excel处理数据

    比较简洁的excel处理方法 希望对大家有所帮助 1 界面
  • vue:实现锚点双向滚动/文章章节联动滚动效果

    文章目录 需求描述 实现思路 示例代码 参考网址 需求描述 需要实现类似doc中文档大纲的效果 点击对应章节的名称时定位到相应的正文 而当正文滚动时 高亮显示对应的章节名称 实现思路 其实笔者一开始想到的是利用a标签页内跳转 也就是 锚点
  • Vue + Element UI 前端篇(十一):第三方图标库

    Vue Element UI 实现权限管理系统 前端篇 十一 第三方图标库 使用第三方图标库 用过Elment的同鞋都知道 Element UI提供的字体图符少之又少 实在是不够用啊 幸好现在有不少丰富的第三方图标库可用 引入也不会很麻烦
  • 5 款最棒的 Vue 移动端 UI 组件库 - 特别针对国内使用场景推荐

    本文完整版 最棒的 Vue 移动端 UI 组件库 特别针对国内使用场景推荐 Vue 移动端 UI 组件库推荐 Vant 3 有赞移动 UI 组件库 支持 Vue 3 微信小程序 支付宝小程序 Cube UI 滴滴出行移动端 UI 库 质量可
  • Vue中的import from

    Vue中的import from 大家都知道 import from 是用来引入一些文件的 在vue中 可能有 js文件 json文件 vue文件 在JS和JSON文件引入的时候 往往需要写入一些 例如数组 export const a 例
  • 前端大屏常用的适配方案

    假设我们正在开发一个可视化拖拽的搭建平台 可以拖拽生成工作台或可视化大屏 或者直接就是开发一个大屏 首先必须要考虑的一个问题就是页面如何适应屏幕 因为我们在搭建或开发时一般都会基于一个固定的宽高 但是实际的屏幕可能大小不一 接下来我们就尝试
  • vue发展历史简介

    基本介绍 Vue 是一套用于构建用户界面的 渐进式框架 与其它大型框架不同的是 Vue 被设计为可以自底向上逐层应用 最初它不过是个人项目 时至今日 已成为全世界三大前端框架之一 github 上拥有 17 8万 Star 领先于 Reac
  • vue prop属性使用方法小结

    Prop 一 基本用法 Prop的基本用法很简单 作用是在子组件中接收父组件的值 父组件传值
  • Vue3中的pinia使用(收藏版)

    1 pinia介绍 个人网站 紫陌 笔记分享网 想寻找共同学习交流 共同成长的伙伴 请点击 前端学习交流群 pinia 是 Vue 的存储库 它允许您跨组件 页面共享状态 就是和vuex一样的实现数据共享 依据Pinia官方文档 Pinia
  • vue 子父组件间的那些事儿——搭建项目(一)

    一 搭建vue项目 1 环境准备 基于nodejs vue cli cnpm 搭建vue项目 由于本博主已经具备以上环境 现在直接进行项目搭建 环境准备可参考这篇博客 https blog csdn net xcymorningsun ar
  • 【vue3】elementplus日期组件英文转中文

    vue3 elementplus日期组件英文转中文 1 在main js或者main ts中加入 即可解决 import ElementPlus from element plus import element plus dist inde
  • vue_域名部署无法访问后端

    前言 目前部署的比较另类 因为服务器为 windows 目前还不是很会 nginx 所以现在就只能在服务器上安装 nodejs 然后直接使用 npm run dev 命令行的方式运行项目 遇到的坑 使用ip访问前端的时候 就可以访问 但是通
  • 快速入手 vue3 defindeModel 双向绑定数据,赶快了解下

    彩蛋 在vue3 3x 版本中 官方 RFC 放出了 一个新特性 defineModel 它将让我们在自定义组件上双向绑定数据更加快捷 举个 以前我们父子组件双向数据绑定要在子组件里声明对应的props emts computed 子组件
  • 大事件项目07----10,11,12未录

    1 如果三方jar包对应的对象 2 来自第三方 是无法用 Component及衍生注解生命bean的 3 使用Maven命令 引入jar包 4 这里我们准备了jar包 也提前准备好了jar包的脚本 5 通过本地的方式来安装maven的坐标
  • 基于vue2+海康威视web开发包3.2 无插件版本开发的监控系统

    文章目录 前言 一 插件准备 二 使用步骤 前言 项目最终效果为 可以预览 并且可以使用云台控制 购买的海康威视摄像头必须可以开启websocket 一 插件准备 插件下载地址 下载WEB无插件开发包V3 2 并加入到vue项目中 下载后解
  • Vue学习之watch侦听器:案例实现翻译功能

    watch侦听器 作用 监视数据的变化 当数据发生变化时 执行一些业务逻辑或者是异步操作 执行的场景例如在线翻译 当文本区域的内容发生变化时 会发生翻译内容的同时更新 语法 简单的写法 简单数据类型 可以直接的进行监听 完整的写法 添加额外
  • [黑马程序员TypeScript笔记]------一篇就够了

    文章目录 1 TypeScript 介绍 TypeScript 是什么 TypeScript 为什么要为 JS 添加类型支持 TypeScript 相比 JS 的优势 2 TypeScript 初体验 安装编译 TS 的工具包
  • 【vue】$bus 跨组件调用方法

    1 新建bus js import Vue from vue 使用 Event Bus const bus new Vue export default bus 2 main js引用 import bus from libs bus Vu
  • vue项目日期处理day.js

    dayjs安装 1 npm 安装 npm install dayjs save 2 项目使用 import dayjs from dayjs ES 2015 dayjs format 使用介绍 1 秒 获取或设置秒 接受0到59的数字 如果
  • vue中的防抖和节流

    在Vue中 防抖和节流是两种常用的优化技术 用于限制事件的触发频率 以提高页面性能 防抖 Debounce 是指在事件被触发后 等待一段时间后再执行回调函数 如果在这段等待时间内 事件又被触发 则重新计时 防抖通常用于限制重复触发频率较高的

随机推荐

  • 微信小程序中如何实现微信支付

    微信支付是微信公众平台提供的一种在线支付服务 可以为用户提供快速 方便 安全的支付体验 而在微信小程序中实现微信支付 则可以为应用程序提供更多的功能和服务 提高用户体验和商业价值 因此 在本文中 我们将介绍如何在微信小程序中实现微信支付 步
  • 轻量级linux桌面环境,Linux发行版最为轻量级的桌面环境之一Xfce 桌面

    开源多样性应该是 Linux 最好的特性之一 用户可以不断尝试各种自己喜欢的新鲜玩法与花样 并从中选择最适合自己的应用 无论你是 Linux 新人还是老鸟 层出不穷的应用和桌面环境可能都会让我们应接不暇 特别是尝试不同的 Linux 桌面环
  • Android之仿今日头条顶部导航栏效果

    随着时间的推移现在的软件要求显示的内容越来越多 所以要在小的屏幕上能够更好的显示更多的内容 首先我们会想到底部菜单栏 但是有时候像今日头条新闻客户端要显示的内容太多 而且又想在主界面全部显示出来 所以有加了顶部导航栏 今日头条顶部导航栏区域
  • 报错: org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang/Object;)V

    springboot中引入eureka报错 java lang NoSuchMethodError org springframework boot builder SpringApplicationBuilder
  • 事件驱动型状态机EFSM介绍及C语言实现

    一 什么是状态机 有限状态机 英语 Finite state machine FSM 又称有限状态自动机 简称状态机 是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型 有限状态机是一种用来进行对象行为建模的工具 其作用主要是描
  • 解决 010Edittor 复制问题

    遇到的问题 使用010Edittor做CTF题目的时候 复制Nex Text File 复制的内容在右边 解决方法 如果要复制到左边是复制的问题 需要ctrl shift c 然后ctrl shift v粘贴即可 具体操作如下 这边复制过来
  • iOS动画 ---特殊Layer动画

    iOS动画 特殊Layer动画 iOS中有一些特殊的layer 也可以做一些动画效果 本文就补充两个可以做动画效果的layer CAEmitterLayer 和 CAReplicatorLayer CAEmitterLayer Emitte
  • Android性能优化系列:Bitmap

    文章目录 Bitmap 简介 Bitmap 的创建 不同系统版本 Bitmap 的内存分配策略 Bitmap 内存占用计算 在电脑查看的图片大小和运行内存大小区别 图片占用内存计算 Bitmap 内存优化 inJustDecodeBound
  • 448. Find All Numbers Disappeared in an Array

    查找缺失的数据 相似的题目查看如下链接的基本情况 448 查找缺失的数据 442 Find All Duplicates in an Array 先解决查找数组当中相同的元素 这道题目是442的 如何查找出数组当中出现多次的元素 这就是桶排
  • js三种声明方式

    JS中声明函数大体上有三种方法 1 常规方法 JScript code function funcName var1 var2 add you code here 2 匿名函数引用法 找不到具体的称呼 暂且先这么叫 JScript code
  • 系统远程安装

    一 现有如下需求 1 分行有20台左右瘦客户机 一台文员机 2 在总部可以通过控制台 控制软件 统一管理控制这20台瘦客户机 文员机可以通过远程桌面控制 3 现需要统一给分行这20台瘦客户机升级系统 二 解决思路 1 将新系统 Ghost文
  • phpstorm安装、汉化以及搭配WampServer使用的细节说明

    phpstorm安装 汉化以及搭配WampServer使用的细节说明 一 简介 底层嵌入式软件是用c语言写的 但是上层的应用网页是用HTML PHP写的 这就造成嵌入式软件和网页需要进行数据交互来进行通信 为了保证安全性和系统结构清晰 便于
  • VMware16 安装windows_10

    一 镜像下载 1 Windows 镜像文件 cn windows 10 multiple editions version 1703 updated march 2017 x64 dvd 10194190 iso下载 迅雷下载 ed2k f
  • citespace使用教程系列文章:二、关键词聚类图

    关键词聚类图 上一章citespace安装和关键词共现图已经讲了软件安装和关键词共现 本文我们讲一下怎么做关键词聚类分析 1 接着上一篇文章继续以下操作 点击下图圈中的图标 进行关键词聚类 2 点击之后 将得到下图的结果 可以看见以 号开头
  • python3 with.py

    模块 python3 with py 参考 https docs python org zh cn 3 reference compound stmts html with https docs python org zh cn 3 ref
  • 关于海量用户访问的通用技术架构的一些思考

    最近12306 cn网站事件引起了很多人对架构的思考 这种访问量巨大的网站究竟该如何来做架构 下面是我的想法 因为要考虑到通用抛开业务单纯从技术层面分析 要承载海量用户的访问 要求网站高性能和高可用 安全可靠 高可收缩性 易于维护 等等一堆
  • 20道常见的kafka面试题以及答案

    JAVA面试宝典 搞定JAVA面试 不再是难题 系列文章传送地址 请点击本链接 目录 1 kafka的消费者是pull 拉 还是push 推 模式 这种模式有什么好处 2 kafka维护消息状态的跟踪方法 3 zookeeper对于kafk
  • jq微信账号正则表达式

    微信号官方规则 必须以字母或下划线开头 可以使用6 20位数字 字母 下划线 减号或它们的组合 正则表达式 a zA Z a zA Z0 9 6 20 如有其它问题欢迎大家留言
  • excel批量提取多个文件单元格_EXCEL高手专用函数Indirect,快速提取多个工作表,特定单元格数据...

    Indirect间接引用函数 你应学会的跨表引用技能 点关注 交朋友 大家共同学技术 几天前 看到有人问 excel中有哪些技能是你以前不知道 但是后来知道了却一直没有忘记的 我首先想到了 Indirect函数 使我的工作效率提高了百倍 千
  • vue常用知识总结

    vue常用知识总结 vue简介 vue 响应式原理 Object defineProperty vue 的作者 尤雨溪 java 出身 vue 是什么 以数据驱动视图的单页面 spa 渐进式 MVVM 框架 特性 数据双向绑定 模块化开发