最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Vuex 3.4.0 版本 使用Vuex 以及 持久化 Vuex

    正文概述 掘金(归丶)   2021-07-18   765
    • 安装命令 分别为 cnpm 或 npm 或 yarn
    • 普遍情况用npm
    • yarn虽然安装更快捷,但需要下载,如有兴趣可查资料
    npm install vuex-persistedstate --save
    
    • 在store目录中封装一个store.js模块文件
    • 包含state、mutations、actions
    export default {
      // 数据 
      state: { 
        userName: "hello",
        count: 20,
      },
      // 方法
      mutations: { 
        setState(state, val) {
          state.count = val;
        },
        increment(state, v) {
          state.count += v;
        },
      },
      // 异步
      actions: {
        incrementAction(context,val){
          context.commit('increment',val)
        }
      },
    };
    
    • 在vue 的 store目录下 index.js文件中进行拆分引入
    import Vue from "vue";
    import Vuex from "vuex";
    // 这里引入 store模块文件
    import store from "./module/store";
    // 这里引入了vux持久化
    import createPersistedState from "vuex-persistedstate"
    Vue.use(Vuex);
    
    export default new Vuex.Store({
      // 这里结构封装的store
      ...store,
      modules: {},
      // 这里引入vuex持久化
      plugins: [
        createPersistedState({
          // 创建一个本地临时存储数据
          storage: window.sessionStorage,
        }),
      ],
    });
    
    • view 视图页面
    <template>
         <div>
          <p>vuex</p>
          <button @click="add(30)">mutations</button>
          <p>
            {{ count }}
          </p>
          <button @click="commitNumber">mutations</button>
        </div>
    </template>
    
    • 引入vuex中定义的 state 以及 actions 异步
    <script>
    import { mapState ,mapActions} from "vuex";
    export default {
        // 如果要更改的是state数据 需要在计算属性中
        // 运用扩展符进行扩展
        computed: {
            ...mapState({
              count: (state) => state.count,
            }),
        },
        // 如果更改的是Actions数据 需要在methods中进行扩展使用
        methods: {
            //传递参数可以用一个方法add调用和接收
            ...mapActions({
              // add 映射为 this.add() 
              add:'incrementAction'
            }),
                
                // 上下方法根据需求选择
                
            // 若不传递参数 可以使用 
            ...mapActions([
                'incrementAction'
            ]),
            
            // 这里事件是通过底层原型获取到的store方法进行传参和修改
            commitNumber() {
              this.$store.commit('increment', 10)
            },
        },
    };
    </script>
    

    起源地下载网 » Vuex 3.4.0 版本 使用Vuex 以及 持久化 Vuex

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元