2022/9/13总结

news2024/11/28 17:55:12

Vue 

 路由的封装抽离

为了便于维护 ,我们通常需要将路由模块抽离出来

在vue中,如果要写路径,可以写绝对路径 使用@   @代表从src目录下去寻找,能避免出现很多错误

 声明式导航  --  导航链接

vue-router提供了一个全局组件router-link(取代a标签)  配置  to  属指定路径  本质是  a  标签,to 无需  #

优点:能高亮  默认会提供高亮样式  可以直接设置高亮样式

在页面中其实也就是 a 标签  多了类名,根据这个类名 可以自己设置

效果

router-link 自动给当前导航添加了俩个高亮类名

  • router-link-exact-active     精确匹配  to="/my"  仅仅匹配  /my
  • router-link-active    模糊匹配   to="/my"  "/my/a"  写/my 可以匹配后接的/a   /b

如果觉得太长,可以自定义这俩个类

然后就能对应上

声明式导航——跳转传参

查询参数传参

语法  to="/path?参数名=值“

对应页面组件接受传递过来的值   $route.query.参数名

动态路由传参

配置动态路由 

const router=new VueRouter({
    routes:[
        {

            path:'/search/:words',
            component:search
        }

    ]
})

配置导航链接   to="/path/参数值"

对应页面组件接受过来的值  $oute.params.参数名

如果配置成  ”/search/:words“ 来表示 ,则必须要传递参数 ,如果不传递参数,也希望匹配,可以在后面加一个  可选符号 "?"  

Vue路由——重定向

当我们想要访问当前路径,强制跳转到另外一个路径时 就可以使用该重定向

语法 {  path:匹配路径,redirect:重定向后的路径  }

如果想要更人性化一点,客户访问的地址不存在,可以在最后写 path:"*"  (匹配任意路径),并且给出一个404的界面

由于我们的地址栏路径带有一个  # 号,显得十分的不美观  

路由的路径模式有俩种

  • hash路由( 默认 )带有#号
  • history路由( 常用 )不带#号

path路径跳转

 如果路径太长,为了省事 可以指定name

如果在传递参数时,需要传递多个参数,拼接地址栏可能很麻烦,可以直接按照对象去写,vue-route给我们提供了便利

学习vue3

学习vue的时候  学姐都说 直接学习vue3 就可以 开启vue3学习旅程

vue3 的优势

  • 更容易维护——组合式API  由更好的TypeScript 支持
  • 更快的速度——重写diff算法  模板编译优化   更高效的组件初始化
  • 更小的体积——良好的TreeShaking  按需引入
  • 更优的数据响应式  Proxy

create-vue  

vue官方新的脚手架工具  底层切换到了 vite (下一代构建工具)

前提  已经安装 16.0 或者更高版本的Node,js 

创建 vue 应用  npm init vue@latest  这个指令会安装并且执行 create-vue

把上面绿色的按照顺序输入一遍

然后就是下面这样代表安装好了

 

打开网址  出现下面这个代表完成

在vue3中创建实例

直接写 createApp()   vue3将创建实例进行了封装 保证每个实例的独立封闭性

vue3支持多个根元素

setup  

执行时机 比beforeCreate 还要早

setup函数中  获取不到this 

数据 和 函数 需要在setup 中 return 才能使用 

setup的语法糖  给组合式API提供了便利

上面俩个是等价的 

reactive()

接受 对象类型数据 的参数 传入 并且返回 一个响应式的对象

ref()

接收简单类型或者对象类型的数据 传入并且返回一个响应式的对象

本质上  是在原有传入数据的基础上  外包了一层对象 包成了复杂数据类型  再借助  reative 实现了响应式 

在js代码中访问数据时 需要通过  .value

在模板 中不需要通过 .value

computed

和vue的写法是差不多的

watch函数

监听 一个或者 多个数据的变化  数据变化时执行 回调函数

俩个额外参数  immediate (立即执行) deep (深度监听)

 通常我们不需要监视整个对象而是对象的某些属性

vue3的生命周期

 上面是对应的vue2 和 vue3 的生命周期函数

vue3的组件通信

在vue3中 引用就可以使用  不用在component里面再次进行声明

父子组件

父传子之间的通信  利用  编译器宏  defineProps 

defineProps原理  就是编译阶段的一个标识  实际编译器解析时  遇到后 会进行编译转换

效果:

子传父之间的通信   

父组件 中给 子组件标签通过 @ 绑定事件 

子组件内部通过emit方法触发事件 

效果:

点击往下降 父组件和子组件都能改变

模板引用

通过 ref 标识 获取真实的dom对象或者组件实例对象

使用: 调用  ref  函数生成一个  ref  对象,通过  ref  标识绑定  ref  对象到标签

通过 ref  可以获取到组件的 数据 以及 方法  但是默认情况下 在  setup  下组件内部的属性和方法是不开放的,可以通过  defineExpose  编译宏 来指定 哪些属性和方法允许访问

需要注意的是获取模板引用的时机必须要是组件挂载完毕  ——  onMounted()

provide  和  inject

主要作用于  顶层组件向任意底层组件  传递数据和方法 实现跨层组件通信

顶层组件通过  provide  提供数据  底层组件通过  inject  函数获取数据

提供的数据是响应式数据 

倘若子孙组件想要修改 顶级组件 就在顶级组件提供方法 来给所有的子孙组件使用

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1008374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs系列-使用nodejs链接MongoDB数据库问题总结

参考文档 mongodbMongoose 问题1. 不支持preferredcms_db_name、cms_db_collection选项 throw new error_1.MongoParseError(${optionWord} ${Array.from(unsupportedOptions).join(, )} ${isOrAre} not supported);^MongoParseError: options preferredcms_db_name, cms_db…

SVN 和 GIT 命令对比

参考 https://blog.csdn.net/justry_deng/article/details/82259470 # TortoiseSVN打分支、合并分支、切换分支 https://www.huliujia.com/blog/802a64152bbbe877c95c84ef2fdf3857a056b536/ # 版本控制:Git与Svn的命令对应关系 TortoiseSVN打分支、合并分支、切换…

Qt应用开发(基础篇)——菜单栏 QMenuBar

一、前言 QMenuBar类继承于QWidget,该类提供了一个水平菜单栏。 菜单栏使用 QMenuBar菜单栏,顾名思义是菜单QMenu和动作QAction的容器,一般在软件的顶部经常会见到它。菜单栏包含了一系列下拉的菜单,使用addMenu()函数添加QMenu菜…

【ICASSP 2023】ST-MVDNET++论文阅读分析与总结

主要是数据增强的提点方式。并不能带来idea启发,但对模型性能有帮助 Challenge: 少有作品应用一些全局数据增强,利用ST-MVDNet自训练的师生框架,集成了更常见的数据增强,如全局旋转、平移、缩放和翻转。 Contributi…

leetcode 673. 最长递增子序列的个数

2023.9.13 做本题之前先复习一下 最长递增子序列 ,在此基础上还要加个count数组,用于记录当前下标 最长递增子序列的个数。 本题还是有些难度,日后再来二刷。

lv4 嵌入式开发-7 文件IO(概念、打开、关闭、读、写)

目录 1 文件I/O 介绍 2 文件I/O – 文件描述符fd(File Descriptor) 3 文件I/O – open 4 文件I/O – close 5 文件I/O – read 6 文件I/O – write 7 文件IO – lseek 8 标准I/O – 思考和练习 掌握文件描述符的含义 1 文件I/O 介绍 什么是文件…

php 实现stripe支付流程

1.申请账号获取密钥key 2.申请创建商品,创建价格,创建支付, //创建商品 public function create_product(){ $_key self::STRIPE_KEY;$stripe new \Stripe\StripeClient($_key);$arr $stripe->products->create([name > $good…

Arcgis多值提取至点所有波段数值一样

Arcgis多值提取至点所有波段数值一样 问题描述 进行多值提取多波段后的结果,所有波段数值都是一样的。 原因 操作流程问题,输入栅格只选择了一个栅格文件 解决方案 实际上,每个波段都会对应一个栅格文件,要把这些添加进去 这…

【网络编程】深入理解TCP协议二(连接管理机制、WAIT_TIME、滑动窗口、流量控制、拥塞控制)

TCP协议 1.连接管理机制2.再谈WAIT_TIME状态2.1理解WAIT_TIME状态2.2解决TIME_WAIT状态引起的bind失败的方法2.3监听套接字listen第二个参数介绍 3.滑动窗口3.1介绍3.2丢包情况分析 4.流量控制5.拥塞控制5.1介绍5.2慢启动 1.连接管理机制 正常情况下,TCP需要经过三…

淘宝/天猫获取商品销量详情 API 返回值说明

item_get_sales-获取商品销量详情 API测试工具 taobao.item_get_sales 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_…

SEO优化排名的技巧与注意点(百度SEO排名的五大注意点)

关键词排名是指在搜索引擎中,用户搜索相关关键词时,网站出现的顺序。SEO优化是提高网站排名的一种方法。优化关键词排名的目的是提高网站流量和知名度。但是要注意遵循百度SEO排名的规则。 下面介绍一下百度SEO排名的五大注意点和优化关键词的六种方式。…

Arcgis提取每个像元的多波段反射率值

Arcgis提取每个像元的多波段反射率值 数据预处理 数据预处理阶段需要对遥感图像进行编辑传感器参数、辐射定标、大气校正、正射校正,具体流程见该文章 裁剪研究区 对于ENVI处理得到的tiff影像,虽然是经过裁剪了,但是还存在黑色的背景值&a…

JDK、eclipse软件的安装

一、打开JDK安装包 二、复制路径 三、点击我的电脑,找到环境变量 四、新建环境 变量名:JAVA_HOME 变量值就是刚刚复制的路径 五、在path中建立新变量 双击path 打印以下文字 最后一直双击确定,安装环境完成。 六、双击eclipse 选择好安装…

Sentinel控制台配置 持久化到nacos

sentinel控制台,使用方便,功能强大。使用官方的jar包,配置不会持久化,sentinel重启后会导致,之前的规则全部丢失,下面一起改造源码实现规则数据的持久化 sentinel源码地址 (github访问太慢&am…

React TypeScript 定义组件的各种方式

目录 举例说明1. 使用 class 定义2. 使用函数定义2.1 使用普通函数2.2 使用函数组件 举例说明 比如我们要定义一个计数器 Counter,它包含一个 label 和一个 button,计数器的初始值由外部传入,点击 button 计数加 1: 这虽然是个简单组件&…

第25章_瑞萨MCU零基础入门系列教程之看门狗定时器-WDT

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

iOS17正式版9月18日正式发布!怎么更新即将发布的iOS17正式版?

苹果在今天举办的“好奇心上头”发布会结束后,推送了iOS 17和iPadOS 17发布候选版本(Release Candidate Version),同时宣布将于9月18日面向iPhone和iPad 用户,推送iOS17/iPadOS 17正式版更新。苹果表示iOS 17的设计理念…

C# Onnx Yolov8 Detect 物体检测

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System…

自动化办公更简单了:新版python-office,有哪些更新?

#职场经验谈# 大家好,这里是程序员晚枫,小破站/小红薯都叫这个名。 去年4月开源了一个Python自动化办公项目:python-office,GitHub和Gitee都能看到。1行代码实现复杂的自动化办公任务,帮助不懂代码的小白,…

处理SQLSyntaxErrorException异常:数据库表 ‘books‘ 不存在;

目录 背景介绍 我的问题中的解决方法 通用方法 背景介绍 今天遇见了这个问题,解决后发出来分享一下 Java应用程序中的SQLSyntaxErrorException:表 bookmanagement.books 不存在问题解决 解决MySQL错误:无法找到表 bookmanagement.books…