vue@cli,vuecli部署

  vue@cli,vuecli部署

  本文主要介绍vue-cli配置和Vuex使用的相关信息。Vuex是专门为Vue.js应用开发的状态管理模式。这个介绍很详细,有需要的朋友可以参考一下。

  

目录

  前言安装使用模块化管理vuex状态持久性摘要

  

前言

  在vue的开发中,我们经常会用到一些全局数据,比如用户信息、用户权限、一些状态等等。我们传统的数据是单向的,要层层传递,这样当遇到一个多组件共享一个数据时,单向的数据很难维护。例如,一个组件嵌套在许多层中,但数据更改方法必须逐层传递。这时候可以引入vuex。

  Vuex是专门为Vue.js应用开发的状态管理模式。它采用集中存储来管理应用程序所有组件的状态,并确保状态以可预测的方式随相应的规则变化。

  以下是vuex官网管理组件间共享状态的流程图。

  

安装使用

  我们可以使用npm或yarn在我们初始化的vue-cli项目之间进行安装。

  npm安装vuex -保存//纱线添加vuex

  然后我们管理我们的状态,在根目录下的src文件中新建一个store文件夹,然后设置index.js作为store下的入口文件,然后写入我们的一个全局状态。

  这里的状态是全局状态,getters是一些可以从我们这里派生出来的状态。比如我们需要在状态中划分计数,然后突变就是改变状态的方法。第一个参数是我们状态的对象,第二个参数是我可以传入的值。这里的最后一个动作被提交给突变,而不是直接改变状态。这里的动作可以是异步函数。动作中的函数的第一个参数接收首先与store实例通信的方法和属性的上下文函数,第二个参数由我们传入。

  使用页面中的状态、从getter派生的状态以及通过动作分派更改状态数据。

  在这里,我通过vuex中的mapState、mapGetters、mapMutations和mapActions,引入想要与state和getter对应的派生数据、mutation和action,然后就可以直接在vue实例上使用了。当然,我们也可以直接引入我们定义的store,通过store实例获得想要的状态、动作和变异。

  效果如下图。

  个人感觉vuex结合map的引入更优雅,所以也用这个方法。更多参考定义方法,请参考vuex官网给出的例子。我只是用了一个我平时用的表格。

  Vuex官方文件:vuex.vuejs.org/zh/guide/ac…

  

模块化管理

  当我们的状态变得大很多的时候,store对象可能会变得非常臃肿,所以我需要用模块化的管理来分离我们的状态文件,这样更有利于我们的维护。

  修改我们的存储文件下的目录结构,创建一个新的模块目录,并在该目录下创建一个新的main.js。

  修改后的目录如图所示。js是我们的一些派生状态。

  然后修改index.js文件代码,如下所示

  从“vue”导入Vue

  从“vuex”导入Vuex

  从导入getters。/getters

  Vue.use(Vuex)

  const context=require.context(。/modules ,false,/\。js$/)

  const moduleStores={}

  context.keys()。forEach(key={

  //获取读取的文件名并拦截它

  const fileName=key.slice(2,-3);

  //通过上下文导出文件内容(key)

  const fileModule=context(key)。系统默认值

  moduleStores[文件名]={

  .文件模块

  }

  })

  const store=new Vuex。商店({

  模块:{

  .模块仓库,

  },

  吸气剂

  })

  导出默认存储

  在这里,我们使用webpack的api来自动导入我们构建的模块。

  然后,我们所在的组件的页面使用情况基本和之前一样,就是用mapstate获取state的值做了一些改变。因为我们是通过模块导入的,所以现在我们想获得存储区中main下的计数,所以引入了修改后的mapState,用法如下

  现在我们已经使用模块化管理。例如,如果我们想要创建一个新的状态库,我们只需要在模块下构建它。文件格式导出为main.js

  

vuex状态持久化

  当我们使用vuex作为状态管理时,我们刷新浏览器,然后vuex数据就不见了。这时候我们需要一个数据持久化操作,比如我们的数据保存在localstroage,就可以实现。但是如果我们的store模块太多,可能会比较麻烦,所以我们引入了第三方插件库vuex-persistedstate。

  该方法只需要在我们的store目录的index.js中引入,并在new Stroe中使用,如下所示。

  在这里,使用我们在插件中介绍的createPersistedState方法就足够了。直接引入的方法是,我们所有的状态都服从一个持久的操作。当然,我们也可以修改配置,并放置一个我们希望持久化的状态,以便进行持久化操作。具体配置我这里没写。具体请参考vuex-persistedstate官方配置。

  vuex持续状态的Github地址:github.com/robinvdvleu…

  

总结

  这里只简单介绍一下vuex的使用方法,更具体的官网使用方法参考官网。Vuex确实方便我们管理一些全局状态,比如动态加载路由时存储的用户信息和路由。在使用小项目的时候,可能会增加我们的复杂度,所以我们在考虑项目前期的时候,尽可能的规划好我们的项目目录结构和数据结构是非常重要的,这对于我们快速开发和维护一个项目是非常重要的。

  关于使用Vuex配置vue-cli的文章到此结束。有关使用Vuex配置vue-cli的更多信息,请搜索我们以前的文章或继续浏览以下相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: