开始学习Vue2(axios和Vuex)

一、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+ '】'

}

}

})

相关推荐
@小博的博客34 分钟前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
南宫生1 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步2 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope2 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen2 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)2 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
hong1616883 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~4 小时前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin4 小时前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表4 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc