绝尘kinoko
2019-05-30 10:59
之前的课程里用Vuex的时候,不都是用this.state来获取的吗,这里为什么要把state作为参数传到mutation的函数里呢?
我试了去掉state,用this.state.lists.push(value),倒是不报错,就是List组件那边获取不到数据。何故?
另外,点击登录跳转到home页面,是不是所有类似这种链接跳转在Vue项目都是这么写:
@click="fun()"---fun() {this.$router.push("target")}
mutation这个函数就有2个形参,可以看一下vuex的官方的源代码。
使用this.state是一种偷懒的作法,看一下官方的例子:
const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } }, actions: { increment (context) { context.commit('increment') } }})
如果要纠结,mutation方法中为什么要传state,可以去看看vuex的源码,是有2个形参的。
使用this.state是我演示中一个偷懒的搞法,跟this的作用域有关系。
不推荐直接在click方法中使用函数体这种写法,不美观,也不方便阅读,可以参考下官方的代码规范:https://cn.vuejs.org/v2/style-guide/index.html
3小时速成 Vue2.x 核心技术
82578 学习 · 489 问题
相似问题