开始学习Vue2(axios和Vuex)

news2024/11/16 7:49:51

一、Axios

1、Axios 简介

Axios 是一个基于 promise  网络请求库 ,作用于node.j s 和浏 览器中。它是 isomorphic 的(即同一套代码可以运行在浏览器

和 node.js 中)。在服务端它使用原生  node.js http  模块,  而在

客户端 (浏览端) 则使用 XMLHttpRequests。

2、Axios 的基本语法

3、使用 axios

1.axios 必须先下载、

npm   i   axios

2.引入(main.js 文件中引入)

import axios from axios 

Vue.prototype.$http=axios ;

3.使用

this.$http.get("url").then (response=>{

console.log (response.data)

})

4、结合 async  await 调用 axios

² 发起 GET 请求 :

发起  POST 请求 :

二、Vuex

1、什么是 vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采 用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

2、vuex 的好处

² 能够在 vuex 中,集中管理共享的数据,易于开发和后期维护;

² Vuex 的状态存储是响应式的,当 Vue 组件从 store 中读取的时候,若 store 中的状态发生变化,能够触发响应式的渲染页面更新 (localStorage 就不会),那么相应的组件也会相应地得到高效更新。

js 原生的数据对象写法, 比起 localStorage 不需要做转换,使用方便

 限定了一种可预测的方式改变数据, 避免大项目中, 数据不小心的污染

3、什么情况下我应该使用 Vuex?

如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确

实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简

单的  store 模式就足够您所需了。但是,如果您需要构建一个中大

型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex

将会成为自然而然的选择。

4、Vuex 的基本使用

1  安装 vuex 依赖包

npm install vuex--save

2  导入 vuex 

import Vuex from vuex 

Vue.use(Vuex)

3 创建 store 对象

const store =new vuex.store({

//state 中存放的就是全局共享的数据

state: {count:0}

})

4  store 对象挂载到 vue 实例中

new Vue({

el: ”#app ”,

render: h => h(app),

router,

//将创建的共享数据对象,挂载到 vue 实例中

//所有的组件,就可以从 store 中获取全局数据

store

})

5、vuex 中的核心概念

State

state 提供唯一的公共数据源,所有共享数据都要统一放到 store state 中进行存储

const store = new Vuex.Store({

state: { count:0 }

})

this.$store.state.全局数据名称

Mutation

通过 mutation 修改 store 中的数据

1  只能通过 mutation 变更 store 数据,不可以直接操作 store中的数据

2 通过这种方式虽然操作繁琐,但可以集中监控所有数据变化

//定义 Mutations

const store=new Vuex.Store({

state: { count:0 },

Mutations: {

//变更状态

state.count++

}

}

})

//触发 mutation

Methods: {

Handlel(){

this.$store.commit(‘add ’)

        }

}

注:在 mutation 中不能写异步代码

> Action

Action 用于处理异步任务

如果通过异步操作变更数据,必须通过 Action,而不能使用 mutation,

但是在 action 中还是通过触发 mutation 的方式间接变更数据

setTimeout(() =>{

        context.commit(‘add ’)

                },1000)

        }

})

//触发 action

Methods: {

        Handle(){

                This.$store.dispatch(‘addAsync ’)

        }

}

 Getter

Gettr t 用于对 store 中的数据进行加工处理形成新的数据

1 Getter 可以对 store 中已有数据加工处理后形成新的数据,类似Vue 的计算属性

2 Store 中数据发生变化,Getter 的数据也会跟着变化

//定义 Getter

Const  store =new Vuex.store({

        State: {count:0},

                Getter: {

                        showNum:state =>{

                        Return ‘当前最新的数据是【‘+state.count+ ’】’

                    }

       }

})

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

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

相关文章

滴滴开源小程序框架 Mpx 新特性:局部运行时能力增强

Mpx 是滴滴开源的一款增强型跨端小程序框架,自 2018 年立项开源以来如今已经进入第六个年头,在这六年间,Mpx 根植于业务,与业务共同成长,针对小程序业务开发中遇到的各类痛点问题提出了解决方案,并在滴滴内…

C语言实现插入排序算法(附带源代码)

插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常…

【Vue3】计算属性computed和监听属性watch

目录 👉 computed 👈 🐌只读取不修改 ☃️既读取又修改 👉 watch 👈 1、监听 ref 基本类型 数据 2、监听 ref 对象类型 数据 3、监听 reactive 对象类型 数据 4、监听对象类型的某个属性 5、监视以上多个数据…

小程序 样式 WXSS

文章目录 样式 WXSS尺⼨单位样式导⼊选择器⼩程序中使⽤less 样式 WXSS WXSS( WeiXin Style Sheets )是⼀套样式语⾔,⽤于描述 WXML 的组件样式。 与 CSS 相⽐,WXSS 扩展的特性有: 响应式⻓度单位 rpx样式导⼊ 尺⼨单位 rpx (…

08.Elasticsearch应用(八)

Elasticsearch应用(八) 1.为什么需要相关性算分 我们在文档搜索的时候,匹配程度越高的相关性算分越高,算分越高的越靠前,但是有时候我们不需要算分越高越靠前我们可能需要手动影响算分来控制顺序比如广告&#xff08…

数学建模学习笔记||一文了解美赛论文如何写作

目录 ​编辑 Title/标题 要求 形式 Summary Sheet/摘要 要求 三要素 书写特点 内容 开头段 中间段 格式 内容 结尾段 关键词 Contents/目录 Introduction/引言 Problem Background/问题背景 Restatement of the Problem/问题重述 Literature Review/文献综…

有向图的拓扑序列——拓扑排序

问题描述 什么是拓扑序列 若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。图中不能有环图中至少存在一个点的入度为0 如何求拓扑序列? 计算出每个节点的…

将Python打包为exe+inno setup将exe程序封装成向导安装程序

为什么要打包? Python脚本不能在没有安装Python的机器上运行。如果写了一个脚本,想分享给其他人使用,可她电脑又没有装Python。如果将脚本打包成exe文件,即使她的电脑上没有安装Python解释器,这个exe程序也能在上面运行…

数据结构实验八:排序的应用

目录 一、实验目的 二、实验原理 1.直接插入排序 2.快速排序 三、实验内容 实验1 代码 截图 实验2 代码 截图 一、实验目的 1、掌握排序的基本概念; 2.掌握并实现以下排序算法:直接插入排序、快速排序。 二、实验原理 1.直接插…

RK3399ProD开发板的固件烧录实战

参考 Toybrick-开源社区-TB-RK3399ProD-RK3399ProD开发板的固件烧录教程 https://download.csdn.net/download/quantum7/88769396 环境 主机:win10 开发板:TB-RK3399ProD 烧录工具:FlashTool_CN\Windows\AndroidTool.exe 串口驱动&#xf…

14.5 Flash查询和添加数据库数据

14.5 Flash查询和添加数据库数据 在Flash与数据库通讯的实际应用中,如何实现用户的登录与注册是经常遇到的一个问题。登录实际上就是ASP根据Flash提供的数据查询数据库的过程,而注册则是ASP将Flash提供的数据写入数据库的过程。 1.启动Access2003&…

linux 查找文件或查找内容 (find grep)

一 linux 查找包含指定内容的文件: 在linux 有时我们只我知道内容但不知道文件在哪,可以使用find 与grep查找 例1 要查找指定目录(默认包含子目录)文件内容包含 xxx 的文件 find /etc/ -type f -exec grep -l "mysql"…

音频格式之AAC:(2)AAC封装格式ADIF,ADTS,LATM,extradata及AAC ES存储格式

系列文章目录 音频格式的介绍文章系列: 音频编解码格式介绍(1) ADPCM:adpcm编解码原理及其代码实现 音频编解码格式介绍(2) MP3 :音频格式之MP3:(1)MP3封装格式简介 音频编解码格式介绍(2) MP3 :音频格式之MP3&#x…

第14章_数据结构与集合源码(一维数组,链表,栈,队列,树与二叉树,List接口分析,Map接口分析,Set接口分析,HashMap的相关问题)

文章目录 第14章_数据结构与集合源码本章专题与脉络1. 数据结构剖析1.1 研究对象一:数据间逻辑关系1.2 研究对象二:数据的存储结构(或物理结构)1.3 研究对象三:运算结构1.4 小结 2. 一维数组2.1 数组的特点2.2 自定义数…

Linux——系统简介

1、从UNIX到LINUX 在目前主流的服务器端操作系统中,UNIX诞生于20世纪60年代末,Windows诞生于20世纪80年代中期,Linux诞生于20世纪90年代初,可以说UNIX是操作系统中的“老大哥”。 1.1、Linux简史 Linux内核最初是由李纳斯托瓦兹…

Chrony时间同步程序

Chrony简介 学习chrony之前首先要来看看chrony到底是干什么用的: chrony是网络时间协议 (NTP) 的通用实现。 它可以将系统时钟与 NTP 服务器、参考时钟同步 (例如 GPS 接收器),以及使用手表和键盘手动输入…

vue3---inputRef.value.focus()报错Cannot read properties of null (reading ‘focus‘)

问题描述&#xff1a;点击编辑按钮&#xff0c;出现el-input框&#xff08;el-input显示隐藏通过v-if控制&#xff09; <el-input ref"inputRef" v-if"isEdit" v-model"modelName" blur"isEdit false" /> <el-button text …

机器学习_常见算法比较模型效果(LR、KNN、SVM、NB、DT、RF、XGB、LGB、CAT)

文章目录 KNNSVM朴素贝叶斯决策树随机森林 KNN “近朱者赤&#xff0c;近墨者黑”可以说是 KNN 的工作原理。 整个计算过程分为三步&#xff1a; 计算待分类物体与其他物体之间的距离&#xff1b;统计距离最近的 K 个邻居&#xff1b;对于 K 个最近的邻居&#xff0c;它们属于…

【Maven教程】(十五):编写 Maven 插件—— 编写 Maven 插件的一般步骤及案例、Mojo 标注与参数、错误处理和日志 ~

Maven 编写 Maven 插件 1️⃣ 编写 Maven 插件的一般步骤2️⃣ 案例&#xff1a;编写一个用于代码行统计的 Maven 插件3️⃣ Mojo 标注4️⃣ Mojo 参数5️⃣ 错误处理和日志6️⃣ 测试 Maven 插件&#x1f33e; 总结 前面文章已经讲过&#xff0c;Maven 的任何行为都是由插件完…

[设计模式Java实现附plantuml源码~创建型] 复杂对象的组装与创建——建造者模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…