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

东阳市住房与城乡建设局网站网站制作软件培训

东阳市住房与城乡建设局网站,网站制作软件培训,百度app免费下载安装最新版,北京市城乡建设协会官方网站一、Vuex 简介 Vuex 是 Vue.js 的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 的出现解决了组件间共享状态的问题,使得状态管理变得简单、可预测和可维护。 二、Vuex 核心概…

一、Vuex 简介

Vuex 是 Vue.js 的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 的出现解决了组件间共享状态的问题,使得状态管理变得简单、可预测和可维护。

二、Vuex 核心概念

1. State

State 是 Vuex 管理的应用状态对象。Vuex 使用单一状态树,用一个对象就包含了全部的应用层级状态。每个应用将仅仅包含一个 store 实例。

// store.js 
const store = new Vuex.Store({ state: { count: 0 } 
});

2. Getters

Getters 是基于 state 的计算属性,用于从 state 中派生出一些状态。

// store.js 
const store = new Vuex.Store({ // ... getters: { doubleCount: state => state.count * 2 } 
});

在组件中使用:

<template> <div>Double Count: {{ doubleCount }}</div> 
</template> 
<script> 
export default { computed: { doubleCount() { return this.$store.getters.doubleCount; } } 
}; 
</script>

3. Mutations

Mutations 是更改 Vuex 中 state 的唯一方法,必须是同步函数。每个 mutation 都有一个字符串的事件类型和一个回调函数,该回调函数就是实际进行状态更改的地方。

// store.js 
const store = new Vuex.Store({ // ... mutations: { increment(state) { state.count++; } } 
});

4. Actions

Actions 类似于 mutations,但它是可以包含任意异步操作的方法。Actions 提交的是 mutations,而不是直接变更 state。

// store.js 
const store = new Vuex.Store({ // ... actions: { incrementAsync({ commit }) { setTimeout(() => { commit('increment'); }, 1000); } } 
});

在组件中触发action:

<template> <button @click="incrementAsync">Increment Async</button> 
</template> <script> 
export default { methods: { incrementAsync() { this.$store.dispatch('incrementAsync'); } } 
}; 
</script>

5. Modules

Modules 允许将单一的 Store 分割成多个模块(module)。每个模块拥有自己的 state、mutations、actions、getters 和嵌套子模块。

三、封装 Vuex 为公共组件

为了在多页面之间方便地引用、修改和显示 Vuex 状态,我们可以将 Vuex 的相关逻辑封装为公共组件。

1. 创建 Vuex Store

// store.js 
import Vue from 'vue'; 
import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++; } } 
});

2. 创建公共组件

CountDisplay.vue

<template> <div>Count: {{ count }}</div> 
</template> <script> 
export default { computed: { count() { return this.$store.state.count; } } 
}; 
</script>

CountControls.vue

<template> <div> <button @click="increment">Increment</button> </div> 
</template> <script> 
export default { methods: { increment() { this.$store.commit('increment'); } } 
}; 
</script>

3. 在多页面中使用公共组件

在你的 Vue 应用中,你只需要在需要使用这些组件的页面或组件中引入它们即可。

<template> <div> <CountDisplay /> <CountControls /> </div> 
</template> <script> 
import CountDisplay from './CountDisplay.vue'; 
import CountControls from './CountControls.vue'; export default { components: { CountDisplay, CountControls } 
}; 
</script>

四、Vuex 的优势

  • 状态管理的规范化:使得状态管理变得简单和直观,避免了多个组件之间共享状态的混乱。
  • 可预测性:由于状态变更的规范化,使得状态的变化更加可预测和可调试。
  • 组件解耦:通过将状态管理逻辑提取到 Vuex 中,使得组件之间的耦合度降低,提高了组件的可复用性。

五、Vuex 的使用场景

  • 中大型单页应用:在状态管理复杂的大型应用中,Vuex 提供了清晰的结构和易于维护的状态管理方案。
  • 需要多组件共享状态:当多个组件需要共享或修改同一状态时,Vuex 可以避免组件间的直接通信,使代码更加清晰。
  • 与 Vue 开发者工具集成:Vuex 与 Vue 开发者工具紧密集成,方便开发者在开发过程中跟踪和调试状态。

六、类似 Vuex 的组件

  • Redux:与 React 配合使用的状态管理库,与 Vuex 类似,也是集中式状态管理方案。
  • MobX:一个简单的可扩展的状态管理库,使用可观察对象使得状态管理更加直观和高效。

这些库或框架各有优缺点,开发者可以根据项目需求和技术栈来选择合适的方案。

http://www.yayakq.cn/news/670085/

相关文章:

  • 网站规划与建设策划书法库网站建设
  • 小米手机的网站架构阿里云wordpress一键安装包
  • django网站开发规范wordpress响应式免费
  • 网站怎么搬家wordpress 改成论坛
  • 企业网站的建设 英文摘要从化建网站
  • 肇东市网站淘客建站程序
  • 汕头网站制作网页友情链接英语
  • asp.net建立网站岳麓区专业的建设网站公司
  • 有好的网址推荐吗西安网站seo诊断
  • 长沙微信网站建设梅州网站建设梅州
  • 长沙哪家网络公司做网站好做齐鲁油官方网站
  • 福建住建设厅官方网站如何用书签 做网站接口
  • 用html5做商城网站怎么做爬虫 wordpress
  • 网站开发背景策划书网站底部图标代码
  • 网站建设问卷调查表做外贸网站需要注册公司吗
  • 做网站的尺寸即时设计广告
  • 网站建设属于技术开发吗上海永灿网站建设
  • 软件开发模型对比seo如何网站正常更新
  • 孟州网站开发app农产品公司网页设计
  • 网站模板有什么用哪个省份网站建设便宜
  • 公司做网站哪家好商标注册查询一览表
  • 沈阳网站制作联系方式公司网站备案网址
  • 宜宾网站设计公司网站建设办法
  • 简述电子商务网站开发的基本流程安装wordpress数据库500
  • php网站开发框架搭建网站快速盈利
  • 网站开发需要考什么证书网络营销软件哪个好
  • 哪些网站做推广好横峰县城乡建设网站
  • 自做闪图网站自己做的影视网站买会员违法吗
  • 南京门户网站制作海淀做网站
  • 建网站公司营销型网站建设网页游戏在线