关于 Vue 的那点事儿~(十一)

126 阅读1分钟

Vuex 的 Mutation 和 Action 之间的区别

流程顺序

基于流程顺序,二者扮演不同的角色
Mutation:专注于修改 State,理论上是修改 State 的唯一途径。
Action:业务代码、异步请求

限制

角色不同,二者有不同的限制。
Mutation:必须同步执行
Action:可以异步,但不能直接操作 State

Vue-Router 的作用以及原理

Vue-Router 是 Vue.js 官方的路由插件,它和 Vue.js 是深度集成的,适合用于构建单页面应用。Vue 的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在 Vue-Router 单页面应用中,则是路径之间的切换,也就是组件的切换。路由模块的本质 就是建立起 url 和页面之间的映射关系
“更新视图但不重新请求页面”是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有两种方式:

  • 利用 URL 中的 hash(“#”)
  • 利用 History interface 在 HTML5 中新增的方法

路由之间跳转的方式

  1. <router-link to="需要跳转到页面的路径">
  2. this.$router.push()跳转到指定的 url,并在 history 中添加记录,点击回退返回到上一个页面
  3. this.$router.replace()跳转到指定的 url,但是 history 中不会添加记录,点击回退到上上个页面
  4. this.$touter.go(n) 向前或者后跳转 n 个页面,n 可以是正数也可以是负数