【2022-11-01】前端Vue框架(六)

news/2024/4/25 4:43:49/文章来源:https://www.cnblogs.com/dy12138/p/16849163.html

一、Vuex的使用

Vuex基本使用

# 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。# 使用步骤:1 在state中定义变量2 在组件中通过this.$store.dispatch('actions中定义的函数'),触发actions中得函数执行3 在actions中得函数中,调用 context.commit('mutations中定义的函数')4 在mutations中定义的函数实现真正的修改state中得数据5 页面中只要使用$store.state.变量,变量变化,页面就变化  实现了组件间通信6 注意:在组件中可以直接调用commit触发【mutations中定义的函数】在组件中可以直接修改state中定义变量

初始化数据、配置actions、配置mutations,操作文件store.js

   //引入Vue核心库import Vue from 'vue'//引入Vueximport Vuex from 'vuex'//引用VuexVue.use(Vuex)const actions = {//响应组件中加的动作jia(context,value){// console.log('actions中的jia被调用了',miniStore,value)context.commit('JIA',value)},}const mutations = {//执行加JIA(state,value){// console.log('mutations中的JIA被调用了',state,value)state.sum += value}}//初始化数据const state = {sum:0}//创建并暴露storeexport default new Vuex.Store({actions,mutations,state,})

组件中读取vuex中的数据:$store.state.sum

组件中修改vuex中的数据:$store.dispatch('action中的方法名',数据)$store.commit('mutations中的方法名',数据)

<template><div><hr>{{sum}}<button @click="handleClick">点我</button></div>
</template><script>export default {name: "App",data() {return {v:'xxx',sum:this.$store.state.sum};},methods:{handleClick(){// action中的方法名// this.$store.dispatch('jia',2)// console.log(this.$store.state.sum)//mutations中的方法名this.$store.commit('JIA',4)console.log(this.$store.state.sum)}}
};
</script>

Vuex执行流程图

二、Vue-route的使用

# 官方提供的用来实现SPA 的vue 插件:有了它以后,我们可以写很多页面组件,通过地址栏不同的路径显示不同的页面组件
# https://router.vuejs.org/zh/index.html

基本使用

# 使用步骤1 新建router/index.jsconst routes = [配置路由1,配置路由2]2 main.js中使用:之前已经写好了import router from './router'new Vue({...router,...}).$mount('#app')3 只需要写页面组件,配置路由即可4 在App.vue中加入<router-view></router-view>5 在浏览器访问const routes中配置的路径,就能看到对应的页面组件了

路由跳转

# 使用步骤:- 在html中使用<router-link :to="path">去登录</router-link>-在js中使用this.$router.push('goods')

路由跳转带参数

# 两种情况-带在请求地址中以 ?name=lqz&age=19-在地址中类似于django的分组  /goods/1/# 情况1:请求地址中-<router-link to="/login/?name=lqz&age=19">去登录</router-link>-组件中接受:this.$route.query.取# 情况2:地址中<router-link to="/login/lyf">去登录</router-link>-组件中接受:this.$route.params.取

路由嵌套

# 使用步骤:1 router/index.js 相应的路由中{path: '/goods',name: 'goods',component: Goods,children: [{path: 'list',component: GoodList},{path: 'detail',component: GoodDetail}]},2 必须要在Goods组件中,写<router-view></router-view>3 使用router-link标签跳转4 只会变更Goods下router-view包裹的位置

路由守卫

# 对路由进行权限控制# 前置路由守卫
router.beforeEach((to, from, next) => {console.log('前置路由守卫', to, from)if (to.name == 'shoppingcart') {let name = localStorage.getItem('name')if (name) {next()} else {alert('不好意思没有权限')}} else {next()}})
# 后置路由守卫
router.afterEach((to,from)=>{console.log('后置路由守卫',to,from)document.title = to.name
})

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟存储器-11.1

虚拟存储器-11.1 1.虚拟存储器概述 1.1局部性原理 1.程序的局部性原理&#xff1a;程序在运行的时候局限在某个局部的地方。 2.虚拟存储器的工作基本情况 运行时在内存运行时不在内存需要时调入内存不需要调出内存 2.虚拟存储器实现的方法 2.1请求分页技术 2.1.1思想 分…

python标记删除如何实现?

python标记删除如何实现&#xff1f; 说明 1、主要解决循环引用的数据。因为引用大于0&#xff0c;不会回收。 2、标记删除是为了解决这个循环引用不能删除的问题。 3、对于删除操作后的每一个引用-1&#xff0c;此时num,num1的引用为0&#xff0c;将其放入死亡容器中&#…

VSCode下载安装与使用教程

目录1. 打开官网进行下载安装2. 下载3. 安装4. 使用4.1 extensions4.2 Python编译器4. 运行python代码的 3 种方法参考资料VSCode是一款免费开源的现代化轻量级代码编辑器&#xff0c;下面就简单的带大家一起来下载和安装VSCode。 1. 打开官网进行下载安装 官方下载链接&…

设计模式系列之MVC模式

这里写自定义目录标题1、设计模式概要最基本的设计模式使用设计模式的好处2、MVC模式MVC实例&#xff1a;模型 models.py视图views.py控制器 Controller.py3、优缺点总结1、设计模式概要 定义&#xff1a; 设计模式是由众多的软件开发人员经过长期的积累&#xff0c;不断试错改…

uniapp老项目添加自动化部署并配置多环境

我司其他项目都是通过jenkins打包部署的&#xff0c;只有uniapp项目要前端通过hbuilderx手动打包上传到git&#xff0c;为了方便操作&#xff0c;改造老项目&#xff01; 创建一个新的uniapp项目 参考&#xff1a;https://uniapp.dcloud.net.cn/quickstart-cli.html 安装vue…

顺应国家趋势,争做爱国程序员

当今社会&#xff0c;为了不再使我国面临“缺芯”的情况下&#xff0c;先进计算技术逐渐成为我国的发展趋势。 那&#xff0c;何为先进计算&#xff1f; 百度百科的定义为&#xff1a;先进计算包括超级计算、大数据、人工智能、云计算等多种新兴IT信息技术&#xff0c;先进计…

仿iPhone开关按钮switch

前端开发checkbox 单选按钮做开关https://github.com/weatherstar/switchgithub下载 渲染事件方法 defaults { size : ‘default’ , checked : undefined , onText : ‘Y’ , offText : ‘N’ , onSwitchColor : ‘#64BD63’ , offSwitchColor : ‘#fff’ , onJackColor : ‘…

html实现飞机小游戏(源码)

文章目录1.思路讲解1.1 游戏设计1.2 主界面1.3 倒计时进入游戏1.4 游戏效果1.3 游戏结束2.实现源码2.1 游戏动态效果2.2 游戏主代码2.3 源码目录源码下载作者&#xff1a;xcLeigh 文章说明 html实现飞机大战源码&#xff0c;酷炫的界面效果&#xff0c;有四款飞机大战背景&…

2022高频经典前端面试题(es6+webpack+http网络+性能优化中篇,含答案)

ES6篇 1. ES6的新特性?&#xff08;必考&#xff09; 参考阮一峰的es6文档&#xff1a;https://es6.ruanyifeng.com/ let、const变量的解构赋值模板字符串&#xff08;可以直接进行变量拼接&#xff09;箭头函数… 展开运算符可以将数组或对象里面的值展开&#xff1b;还可以…

面试被问到如何排查JVM问题的,如何回答?

一、首先说可用工具 1、jmap可以查看当前Java进程的内存占用,把内存快照dump出来 用法:jmap [option] <pid> 常用命令jmap -heap pid 主要显示堆的内存使用情况,包括分代情况,每个代的总容量、已使用内存、可使用内存,如图: jmap -dump:live,format=b,file=xxx…

发第一篇SCI有哪些技巧?

正所谓万事开头难&#xff0c;每当第一次做某一件事情总是难以开展的。因为那时我们没有一定的方法和技巧去完成这些事。比如 SCI论文是无数科研人员认可的学术文献&#xff0c;但是想要在SCI期刊上发表论文是十分困难的&#xff0c;因为在论文创作上尚且不成熟&#xff0c;没有…

大学毕业1年,从监工转行软件测试,我拿到了人生第一份8k的offer

大家好&#xff0c;我是小静&#xff0c;是一名IT转行人&#xff0c;2015年毕业于某所XXXX大专&#xff0c;大学学的专业是土木工程&#xff0c;毕业也是不出意外的来到了工地&#xff0c;从事的是一份监工的工作&#xff0c;就是工地上带白帽子的&#xff0c;每个月拿着4000块…

js 之reduce 方法实现数组去重原理分布解析

需求 &#xff1a;当有一个数组对象 我们需要根据数组对象的某个属性进行去重 此时我们用reduce最合适不过 let alin [{id : 001 ,name : 小红},{id : 002 ,name : 小黄},{id : 001 ,name : 小红},]function arrRemoveRepet(arr) {let newArr []; // 去重后得到的新数组con…

生成新冠疫苗接种趋势图-技术和法律学习

生成新冠疫苗接种趋势图-技术和法律学习文档说明:只记录关键地方; 缘由:想看疫苗接种趋势图,我要去哪里找呢?奈何公开的渠道没有找到!自己做一个呗数据来源: http://www.nhc.gov.cn/xcs/xxgzbd/gzbd_index.shtml (信息来自国家卫生健康委员会官方网站) 我要怎么得到数据呢…

靶机20 driftingblues3

描述: __________ 获取标志 难度&#xff1a;简单 1、下载靶场 靶机名称&#xff1a;driftingblues 下载地址&#xff1a; DriftingBlues: 3 ~ VulnHub 2、安装靶场 以DC-1为例&#xff0c;将文件解压&#xff08;一压缩包形式进行下载&#xff09;。 打开虚拟机&#xff0c;选…

K8S二进制部署之定义CA证书与ETCD

文章目录CA证书制作K8S集群证书流程K8S 二进制集群部署K8S二进制部署ETCD集群部署1、docker部署&#xff08;所有节点&#xff09;ETCD集群部署master节点操作小结&#xff1a;查看etcd 启动脚本创建ca证书创建cfssl类型工具下载脚本到node节点修改CA证书 CA证书中包含密钥对 …

浅谈 web3

web3——互联网的未来? web3,很多人觉得是个骗局,是在割韭菜。因为大部分介绍 web3 的文章都离不开 NFT、数字货币、区块链、比特币、以太坊、元宇宙等概念,玄之又玄,脱离我们的生活,没解决我们的痛点。一般文章最后还教给我们怎么炒币,怎么买卖 NFT,妥妥的割韭菜套路,…

顺序结构综合练习

顺序结构综合练习 数学头文件#include<cmath> 幂函数 pow10(x)结果等于10^x pow()函数是cmath标头的库函数,用于查找幂的加数。计算x的y次方 pow()函数语法:pow(x,y); #include<cstdio>// main(){int a,b,c;scanf("%d%d",&a,&b);//格式化…

长时间久坐危害竟然这么大,这4项检查,男性朋友一定要定期查

对于男性而言&#xff0c;生殖系统健康尤为重要&#xff0c;但很多人却并不是那么重视&#xff0c;家住昆山的小王就是其中一员&#xff0c;作为一名程序员的他&#xff0c;上班坐着&#xff0c;上班路上坐着&#xff0c;下班路上也是坐着&#xff0c;回家更是坐着。小伙身体棒…

Bootstrap概述和Bootstrap快速入门

Bootstrap概述 1.概念:一个前端开发的框架,Bootstrap,来自Twitter,是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JavaScript的,它简洁灵活,使用得Web开发更加快捷。框架:一个半成品软件,开发人员可以在框架基础上,在进行开发,简化编码。好处:1.定义了很多的…