iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue的Vuex怎么使用
  • 626
分享到

Vue的Vuex怎么使用

2023-06-28 23:06:54 626人浏览 八月长安
摘要

这篇文章主要讲解了“Vue的Vuex怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue的Vuex怎么使用”吧!优缺点优点响应式属于 vue 生态一环,,能够触发响应式的渲染页面更新

这篇文章主要讲解了“Vue的Vuex怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue的Vuex怎么使用”吧!

优缺点

优点

响应式

属于 vue 生态一环,,能够触发响应式的渲染页面更新。 (localStorage 就不会)

可预测的方式改变数据

避免数据污染

无需转换数据

js 原生的数据对象写法(不需要做转换)。(localStorage 需要做转换)

缺点

复杂

适合大应用,不适合小型应用

不能持久化(刷新页面后vuex中的state会变为初始状态)

解决方案

结合localStorage

vuex-persistedstate插件

使用场景

当我们多个页面需要共享数据时就可以使用Vuex。

实际开发中我们一般在下面这种情况使用它:

当前登录用户的信息

购物车的信息

收藏的信息

用户的地理位置

示例

本处用计数器来测试:一个组件修改计数器的值,其余两个不相关组件可以监测到时计数器值的改变。

做法:一个组件(ComponentA)将数据共享给另外两个不相关组件(ComponentB和ComponentC),外部用Parent.vue放置这三个组件。

安装Vuex并引入

 1.安装vuex

在工程目录下执行:npm install vuex

2.编写vuex的store

创建目录store,在其下边创建CounterStore.js,内容如下: 

import Vue from 'vue';import Vuex from 'vuex'; Vue.use(Vuex);const couterStore = new Vuex.Store(  {    state: {      count1: 0,      count2: 0,    },    mutations: {      increment1(state) {        state.count1++;      },      decrement1(state) {        state.count1--;      },      increment2: state => state.count2++,      decrement2: state => state.count2--,    }  }); export default couterStore;

3.main.js引入CounterStore.js

// The Vue build version to load with the `import` command// (runtime-only or standalone) has been set in webpack.base.conf with an alias.import Vue from 'vue'import App from './App'import router from './router'import CouterStore from './store/CounterStore' Vue.config.productionTip = false new Vue({  el: '#app',  router,  store: CouterStore,  components: { App },  template: '<App/>'})

按照JS语法,key与value重名时可以简写:(很多教程这么写)

// The Vue build version to load with the `import` command// (runtime-only or standalone) has been set in WEBpack.base.conf with an alias.import Vue from 'vue'import App from './App'import router from './router'import store from './store/CounterStore' Vue.config.productionTip = false new Vue({  el: '#app',  router,  store,  components: { App },  template: '<App/>'})

业务代码

代码

ComponentA.vue

<template>  <div class="container">    <h4>ComponentA</h4>    <button @click="increment1">增加:第1个计数器</button>    <button @click="decrement1">减少:第1个计数器</button><br><br>    <button @click="increment2">增加:第2个计数器</button>    <button @click="decrement2">减少:第2个计数器</button>  </div></template> <script>export default {  data() {    return {      count1: 0,      count2: 0,    }  },  methods:{    increment1() {      this.$store.commit('increment1')    },    decrement1() {      this.$store.commit('decrement1')    },    increment2() {      this.$store.commit('increment2')    },    decrement2() {      this.$store.commit('decrement2')    }  }}</script> <style scoped>.container {  margin: 20px;  border: 2px solid blue;  padding: 20px;}</style>

ComponentB.vue

<template>  <div class="container">    <h4>ComponentB</h4>    计数器的值:{{msg}}    <!--也可以这么写:-->    <!--计数器的值:{{this.$store.state.count1}}-->  </div></template> <script>export default {  computed:{    msg() {      return this.$store.state.count1;    }  }}</script> <style scoped>.container {  margin: 20px;  border: 2px solid blue;  padding: 20px;}</style>

ComponentC.vue

<template>  <div class="container">    <h4>ComponentC</h4>    计数器的值:{{msg}}    <!--也可以这么写:-->    <!--计数器的值:{{this.$store.state.count2}}-->  </div></template> <script>export default {  computed:{    msg() {      return this.$store.state.count2;    }  }}</script> <style scoped>.container {  margin: 20px;  border: 2px solid blue;  padding: 20px;}</style>

Parent.vue

<template>  <div class="outer">    <h4>父组件</h4>    <component-a></component-a>    <component-b></component-b>    <component-c></component-c>   </div></template> <script>import ComponentA from "./ComponentA";import ComponentB from "./ComponentB";import ComponentC from "./ComponentC"; export default {  name: 'Parent',  components: {ComponentA, ComponentB, ComponentC},  data() {    return {      name: 'Tony',      age: 20,      phoneNumber: '1234567890'    }  }}</script> <style scoped>.outer {  margin: 20px;  border: 2px solid red;  padding: 20px;}</style>

路由

import Vue from 'vue'import Router from 'vue-router'import Parent from "../components/Parent"; Vue.use(Router) export default new Router({  routes: [    {      path: '/parent',      name: 'Parent',      component: Parent,    }  ],})

测试

访问: Http://localhost:8080/#/parent

Vue的Vuex怎么使用

感谢各位的阅读,以上就是“Vue的Vuex怎么使用”的内容了,经过本文的学习后,相信大家对Vue的Vuex怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Vue的Vuex怎么使用

本文链接: https://www.lsjlt.com/news/321162.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue的Vuex怎么使用
    这篇文章主要讲解了“Vue的Vuex怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue的Vuex怎么使用”吧!优缺点优点响应式属于 vue 生态一环,,能够触发响应式的渲染页面更新...
    99+
    2023-06-28
  • vue中vuex怎么使用
    这篇文章将为大家详细讲解有关vue中vuex怎么使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue概念:vuex 是 Vue 配套的 公共数据管理工具,它可以把一些...
    99+
    2024-04-02
  • vuex的Mutation怎么使用
    这篇“vuex的Mutation怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vu...
    99+
    2024-04-02
  • vue怎么使用Vuex状态管理模式
    这篇“vue怎么使用Vuex状态管理模式”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么使用Vuex状态管理模式”文...
    99+
    2023-06-29
  • Vue学习之Vuex的使用详解
    目录简介优缺点优点缺点使用场景示例安装Vuex并引入 1.安装vuex2.编写vuex的store3.main.js引入CounterStore.js业务代码测试简介 说明...
    99+
    2024-04-02
  • vuex中的Modules怎么使用
    这篇文章主要介绍了vuex中的Modules怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vuex中的Modules怎么使用文章都会有所收获,下面我们一起来看看吧。1 、什么是模块ModulesVuex...
    99+
    2023-06-30
  • Vuex中的API怎么使用
    今天小编给大家分享一下Vuex中的API怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。构造器选项state类型: O...
    99+
    2023-07-04
  • vue3.2中的vuex怎么使用
    这篇文章主要介绍“vue3.2中的vuex怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3.2中的vuex怎么使用”文章能帮助大家解决问题。Vuex 中有以下几个核心概念:State:...
    99+
    2023-07-06
  • Vue项目中如何使用vuex
    这篇文章主要介绍“Vue项目中如何使用vuex”,在日常操作中,相信很多人在Vue项目中如何使用vuex问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue项目中如何使用vuex”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • vue中使用vuex的超详细教程
    目录一、适合初学者使用,保存数据以及获取数据二、模块化(适合有部分基础的人)vuex是使用vue中必不可少的一部分,基于父子、兄弟组件,我们传值可能会很方便,但是如果是没有关联的组件...
    99+
    2022-11-13
    vue使用vuex vue vuex
  • vue中vuex有什么用
    小编给大家分享一下vue中vuex有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vuex什么是Vuex?官方说法:Vue...
    99+
    2024-04-02
  • Vue3中Vuex怎么使用
    本篇内容介绍了“Vue3中Vuex怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vuex是做什么的?Vue官方:状态管理工具状态管理...
    99+
    2023-07-02
  • VueX怎么安装使用
    本篇内容主要讲解“VueX怎么安装使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“VueX怎么安装使用”吧!1、安装vuex依赖包npm install vuex ...
    99+
    2023-06-28
  • Vue如何使用Vuex封装并使用store
    这篇文章主要介绍“Vue如何使用Vuex封装并使用store”,在日常操作中,相信很多人在Vue如何使用Vuex封装并使用store问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue如何使用Vuex封装并使...
    99+
    2023-07-04
  • 一文带你搞懂Vue中Vuex的使用
    目录VUEX使用详解01-vuex基础-介绍02-vuex基础-初始化和基本使用03-vuex基础-state04-vuex基础-mutations05-vuex基础-actions...
    99+
    2022-11-13
    Vue Vuex使用 Vuex使用 Vue Vuex
  • Vue3怎么使用Vuex的mapState与mapGetters
    今天小编给大家分享一下Vue3怎么使用Vuex的mapState与mapGetters的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-07-05
  • 如何在Vue项目中使用vuex
    目录在Vue项目中使用vuex一、安装vuex二、创建store三、挂载store四、在组件中使用五、在Vue组件中监听Vuex总结在Vue项目中使用vuex 在一个vue项目中使用...
    99+
    2023-01-28
    Vue使用vuex Vue vuex Vue项目中使用vuex
  • vue使用Vuex状态管理模式
    目录1、基于单向数据流问题而产生了Vuex2、安装及使用3、核心及使用方法(1)State(2) Getters(3) Mutation(4) Action(5)Modules4、V...
    99+
    2024-04-02
  • 怎么使用Vuex实现Vue后台管理中的角色鉴权
    这篇文章主要介绍“怎么使用Vuex实现Vue后台管理中的角色鉴权”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Vuex实现Vue后台管理中的角色鉴权”文章能帮助大家解决问题。功能分析在常见管...
    99+
    2023-06-30
  • 怎么用vuex
    这篇文章给大家分享的是有关怎么用vuex的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先贴上官方文档,https://vuex.vuejs.org/guide/modules....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作