项目用到过好几次vuex,有的参数复用率较高,且不是父子组件,需要服用,所以考虑用vuex来进行传参
每一个模板都有自己的templateid
后端要求,在用户操作的时候每一步都请求接口,且要携带该模块的templateid参数
首先在user.js文件构造mutations实例对象
在页面内,找到能拿到templateid参数的页面
先引入mapMutations
接着在methods方法中,写入该方法
需要一个抛出这个参数的实例方法,页面中没有事件触发,所以写在mounted里
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!前方雷区!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
原本以为vuex参数抛出去,接收参数的页面也要引入,但是不在data里定义实例的话,会报错没有参数的实例,但是定义了以后调用方法的时候又会报错参数已经在data中存在了,就很矛盾,跟同事闲聊的时候才知道,vuex是全局管理的,参数抛出去就相当于是vue的实例 ,在页面中直接赋值调用就可以,不需要引入,下面是之前错误的示范
在需要接收参数的页面引入
要在computed里面写入要用的参数
在需要接收参数的方法里,拿到state里的参数
需要注意的是,在接收页面,需要在data里构造一个实例, 不然虽然可以接收到参数,但是会报错
但是在data中定义了实例后又会报错
所以,参数抛出去直接在接收页面用就可以了