时间:2021-05-26
一、官方文档
1、第一步
const myPlugin = store => { // 当 store 初始化后调用 store.subscribe((mutation, state) => { // 每次 mutation 之后调用 // mutation 的格式为 { type, payload } });};2、第二步
const store = new Vuex.Store({ // ... plugins: [myPlugin]});二、编写一个打印日志的插件
1、函数的书写
import _ from 'lodash';function logger() { return function(store) { let prevState = store.state; store.subscribe((mutations, state) => { console.log('prevState', prevState); console.log(mutations); console.log('currentState', state); prevState = _.cloneDeep(state); }); };}2、使用
export default new Vuex.Store({ modules: { ... }, strict: true, plugins: process.NODE_ENV === 'production' ? [] : [logger()]});三、vuex 数据持久化
1、函数的书写
function vuexLocal() { return function(store) { const local = JSON.parse(localStorage.getItem('myvuex')) || store.state; store.replaceState(local); store.subscribe((mutations, state) => { const newLocal = _.cloneDeep(state); sessionStorage.setItem('myvuex', JSON.stringify(newLocal)); }); };}2、使用
export default new Vuex.Store({ modules: { ... }, strict: true, plugins: process.NODE_ENV === 'production' ? [vuexLocal()] : [logger(), vuexLocal()]});3、类似的第三方库
1.vuex-persistedstate
2.vuex-persist
总结
以上所述是小编给大家介绍的vuex 中插件的编写案例解析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
vuex数据改变,组件中页面不渲染相信许多vuex新手都会遇到这样的问题:vuex数据更新后,插件中使用数据的地方没有更新这样的代码data(){return{
使用Vuex来管理Vue的状态,有很多好的理由。其中之一就是,通过Vuex插件可以非常容易的扩展一些很酷的功能。Vuex社区中的开发人员已经创建了大量的免费插件
本案例是基于Vuex的公共数据库,你在了解本案例之前要了解Vuex的使用方法。https://puted:{...mapState(['userDetail']
首先,必须安装vuex的依赖npminstallvuex--save-dev创建专属vuex的文件夹和store.js:store.js里引入并应用插件vuex
首先,我们要安装vuex,执行命令yarnaddvuex1.编写state数据//vuex/index.jsimportVuefrom'vue';importV