国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vuex 中插件的編寫案例解析

2019-11-19 11:21:47
字體:
來源:轉載
供稿:網友

一、官方文檔

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 中插件的編寫案例解析,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南江县| 六盘水市| 哈巴河县| 嘉禾县| 开远市| 黑龙江省| 东乌珠穆沁旗| 邹平县| 葫芦岛市| 大安市| 宾阳县| 北京市| 海宁市| 浠水县| 称多县| 元氏县| 宁化县| 瑞昌市| 普陀区| 深水埗区| 闵行区| 栾川县| 溆浦县| 蓬莱市| 陇川县| 随州市| 黔江区| 鹿泉市| 芜湖县| 班戈县| 安徽省| 乌海市| 海城市| 恭城| 漠河县| 静宁县| 濮阳市| 什邡市| 西乌珠穆沁旗| 麦盖提县| 罗源县|