学习参考:coderwhy教学视频,整个系列可能会比较混乱,学到哪里觉得有需要的记录一下,可能和之前的java笔记类似。
- Vuex是一个专为Vue.js专用程序开发的状态管理模式。其实,可以简单的将其看作把需要多个组件共享的变量全部存储到一个对象里面,然后,将这个对象放在顶层的Vue实例中,让其他组件可以使用。而且最重要的是,这个对象是响应式的;
- 一般什么状态需要多个组件之间共享呢?例如用户的登录状态、用户名称、头像,例如商品的收藏、购物车中商品等;
- 简单使用
1 | // src/store/index.js |
1 | // APP.js |
Vuex的store状态的更新唯一方式:提交mutation,mutation中回调函数的第一个参数就是state,传递的参数可以在state后边,被称作载荷(Payload)。
- Vuex五大核心:state、mutations、actions、getters、modules:其中state就是存储管理变量、mutations类似methods,其中定义一些方法,对状态变量进行操作,但是只能是同步、actions针对异步操作、getters类似于computed,对状态变量进行一些计算或者筛选、modules主要是对state进行分流,随着要管理的变量增加,state会越来越臃肿,但是Vuex要求单一状态树(单一数据源),所以就可以利用modules进行分模块,每个模块里又可以定义上述state、mutations等;
- ES6新语法,对象的解构:
1 | const obj = { |
- Vue中发送网络请求有很多方式:
- 传统的Ajax是基于XMLHttpRequest(XHR);
- 比传统的Ajax更好用的jQuery-Ajax;
- 官方在Vue1.x时期,推出了Vue-resource;
- 在宣布Vue-resource不再维护时,推荐了axios;
- 使用JSONP最主要的原因是为了解决跨域访问的问题;
- axios功能特点:
- 在浏览器中发送XMLHttpRequests请求;
- 在node.js中发送http请求;
- 支持Promise API;
- 拦截请求和响应;
- 转换请求和响应数据;
- axios最基本的使用:
1 | // 1.基本使用 |
- 发送并发请求可以使用axios.all([]),传入的参数和返回的结果都是一个数组。传入参数的数组内每个对象就是上述每个单一的axios请求。
- axios常见配置选项:
1 | 请求地址 |
- 意识:凡是对第三方框架,都不要在每一个组件内都加入依赖,这样一旦第三方框架停止维护,整个项目的维护将是一个巨大的工程,一般都要将对第三方框架进行一个封装。
1 | // network/request.js |
- axios提供了拦截器,用于在发送每次请求或者得到响应后,进行对应的处理;
1 | //1 请求拦截 |
注:转载文章请注明出处,谢谢~