当前位置: 首页 > news >正文

咸阳建设网站网站联盟广告

咸阳建设网站,网站联盟广告,申请网站建设的请示,网站代备案公司名称介绍 :::warning 注意 在阅读此文章之前请确保你已经掌握了组件中的选项 data、计算属性 computed、methods 方法等相关知识。 ::: 什么是 Vuex? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以…

介绍

:::warning 注意
在阅读此文章之前请确保你已经掌握了组件中的选项 data、计算属性 computed、methods 方法等相关知识。
:::

什么是 Vuex?

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

你完全可以理解 vuex 中的状态 state 就是和选项 data 几乎一模一样,唯一不同的是选项 data 是定义在组件内的,不同组件之间访问需要传来传去。而 vuex 中的 state 是全局的,在任何组件内,只需要通过 this.$store.state.$variable 就能访问了。

Vuex 可以让 Vue 实例内的所有组件共享同一个状态(变量)。因为是共享的,所以多个组件如果同时对一个变量进行直接修改 this.$store.state.$variable = $value,那就会特别容易出问题。而且也破坏了单向数据流的模式。

安装

在我们使用脚手架搭建项目的时候,默认是没有帮我们安装的。需要自己手动进行安装。安装的 Vuex 插件时需要注意版本信息,Vue2.0 使用的是 vuex3.x ,而 Vue3.0 使用的是 vuex4.x

通过命令安装 vuex 插件

$ yarn add vuex@3.6.2

开始使用

每一个 Vuex 应用的核心就是 store(仓库)。store 基本上就是一个容器,它包含着你的应用中大部分的状态 state 。

Vuex 和单纯的全局对象有以下两点不同

  • Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

  • 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

基础案例

  1. 创建 store 文件,并且实例化 Vuex.Store
// src/store/index.jsimport Vue from 'vue'
import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({state: {count: 0},mutations: {increment(state) {state.count++}}
})export default store

  1. 在 Vue 实例中注册 store。
// src/main.jsimport Vue from 'vue'
import App from './App.vue'
import router from './router/index.js'
import store from './store/index.js'Vue.config.productionTip = falsenew Vue({router,store,render: (h) => h(App)
}).$mount('#app')

  1. 组件中获取 store 数据,并且尝试修改 store.state
<!-- src/components/Home.vue --><template><div class="home">{{ $store.state.count }}</div>
</template><script>
export default {mounted() {setInterval(() => {this.$store.commit('increment')}, 1000)}
}
</script>

  1. 预览页面效果,可以发现每间隔 1 秒页面上绑定的 count 就会得到更新。

再次强调,我们通过提交 mutation 的方式,而非直接改变 store.state.count,是因为我们想要更明确地追踪到状态的变化。这个简单的约定能够让你的意图更加明显,这样你在阅读代码的时候能更容易地解读应用内部的状态改变。此外,这样也让我们有机会去实现一些能记录每次状态改变,保存状态快照的调试工具。有了它,我们甚至可以实现如时间穿梭般的调试体验。

那什么场景下适合使用 Vuex 呢?

例如我有个登录页面,登录后的用户信息,我可以存储到 vuex 中,因为我每个页面可能都会用到这份数据。在例如我有个全局的筛选地区组件,每个页面也会使用到这个地区参数,那也能作为 vuex 来使用。

大家可以自行分析整个项目中,有哪些数据是需要全局使用的,哪些数据是局部使用的。局部使用的直接在你的组件里面定义就好了。全局使用的就在 vuex 中的 state 中定义。个人建议千万不要滥用 vuex,否则你的状态管理器会难以维护,不要想着什么东西都往里面去定义。

官方描述:如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。

原文链接:菜园前端

http://www.dinnco.com/news/29008.html

相关文章:

  • 做服装网站要那些照片软文网官网
  • 网站怎么响应式布局营销方式方案案例
  • 地方文明网站建设seo主管招聘
  • 网站开发设计思想信息流广告代理商排名
  • 合肥网站建设=388元如何做个网站推广自己产品
  • 网站开发计划甘特图yahoo搜索引擎提交入口
  • 黑客网站网址大全海外网络推广方案
  • 网站建设需要经过哪几个步骤温州网站优化推广方案
  • 响应式官网设计seo伪原创工具
  • 免费软件视频长沙seo搜索
  • 网站建设 中企动力烟台跨境电商网站
  • 济宁网站建设top长春网站关键词排名
  • 婚纱网站页面设计图片如何进行网站推广
  • 中山网站建设外包站长素材网
  • 苏州免费推广的网站自动app优化下载
  • 网站制作包括数据库吗seo zac
  • 大连做网站的公司有哪些seo怎么优化
  • 网页制作题如何优化搜索引擎的搜索功能
  • 吉安公司做网站抖音推广方式有哪些
  • 微信公众号网站建设怎么做网站链接
  • web 设计网站模板青岛网络优化哪家专业
  • asp.net制作网站开发深圳哪里有网络推广渠避
  • 上海网站搭建公司哪家好怎样注册自己的网站
  • 官网招聘和招聘网站企业网站建设的流程
  • 网上注册公司的章程怎么下载出来seo排名优化软件有
  • 临夏城乡建设局网站杭州网站推广平台
  • 青岛网站设计品牌企业百度网盘app下载安装官方免费版
  • php 做网站电话营销销售系统
  • 舟山 网站制作湖南seo推广
  • 如何提高网站百度权重株洲专业seo优化