vue的一些基础知识

vuex

不要为了用vuex而用vuex。
vuex 是全局状态管理,类似于数据库 把握住了一些数据的状态。
那什么样的数据才需要管理呢?
个人感觉,觉得这个主要跟项目中 业务之间 、模块之间的耦合度高不高有关,比如一些项目虽然庞大, 有几十种业务和权限,但是耦合度(我认为是关联度)低,也就是说没有什么数据是在每个模块之间或者业务之间有很多的关联,根本没必要用vuex存储data数据。用了倒是浪费了它本身的功能性。每个页面有自己的data就行。

但是有些特殊的还一般需要vuex统一管理
比如说:登录token 、 用户信息 一些全局data

axios

axios 除了请求作用,还可以用来拦截请求、响应
请求拦截, 就是对拦截请求对他的一些操作,再加工,然后再发送出去,或许拦截后 不发送请求,创建一些假数据之类的。比如,在每个发送的请求上加Token,发送给 服务器验证权限。
响应拦截,拦截响应回来的东西, 进行统一一些处理。比如,返回响应数据,通过返回的code来检验有什么权限问题。

为什么需要监听路由变化

有一种业务场景: 同一个组件中有两个不同的router
默认两个页面切换不会触发vue的created 或者mounted
所以不会有任何响应切换页面的行为发生。但是两个router分别对应不同的url, 被用到以后,肯定会触发路由的变化。根据这一点,我们可以换一种方式,通过监听路由url来触发事件。

methods vs computed vs watch 区别

methods 方法
computed 计算属性
watch 侦听属性

computed vs methods

computed 有缓存 并且只在他的依赖项发生变化后才重新计算求值
methods 相比之下 没有缓存,每次调用都会执行

computed vs watch

一般很多时候大多去使用computed, 其实都属于根据数据的变化去做事
computed 在一些数据需要根据其他数据 的变化而变化时,计算属性一般不存在data 里,只是随着data属性的变化而变化。
可以做整合一些data属性的变化 而做一些操作

watch 在观察 响应实例的数据发生改动后,执行异步或者开销比较大的操作,这个方法最有用
针对的是具体的某个data属性变化

推荐阅读更多精彩内容