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

diy个性定制北京seo教师

diy个性定制,北京seo教师,哪些招聘网站做海外招聘,网站建设+开源文章目录 actions 和 getters一、actions作用使用目的: 二、actions的使用执行原理代码示例: 三、actions中的辅助函数mapActions代码示例: 四、核心-getters1. 什么是getters?2. getters的作用:3. 访问 getters 的两种…

文章目录

  • actions 和 getters
    • 一、actions作用
          • 使用目的:
    • 二、actions的使用
          • 执行原理
          • 代码示例:
    • 三、actions中的辅助函数mapActions
          • 代码示例:
    • 四、核心-getters
          • 1. 什么是getters?
          • 2. getters的作用:
          • 3. 访问 getters 的两种方法:
          • 4. getters的使用:
          • 5. 总结:

actions 和 getters

下面是对actions的基本使用进行一个描述

一、actions作用

Vuex 中的 actions 是用于处理异步操作和提交mutations的函数。
它的功能是在应用程序中执行异步操作,例如发送网络请求、获取数据等,并根据操作的结果来触发mutations进行状态的更改

使用目的:

使用actions的主要目的是将异步逻辑从组件中分离出来,使代码更
加模块化和可维护。它可以帮助我们管理复杂的异步操作流程,并且能够保持状态的一致性。

二、actions的使用

在Vuex中,我们需要先定义一个包含各种action函数的对象,并通过dispatch方法来触发具体的action。每个action函数可以接受一个context对象作为参数,其中包含了store实例中的方法和属性,可以通过context.commit方法来提交mutations,也可以通过context.state访问状态。

执行原理

在这里插入图片描述

代码示例:

第一步:定义actions处理函数

  // 3. actions 处理异步// 注意不能直接操作 State ,操作State 还需要 commit mutationsactions: {// context 上下文 (此处未分模块, 可以当成store 仓库)// context.commit('mutations名字', 额外参数)changeCountAction (context, num) {// 这里是setTimeout模拟异步,以后大部分是发请求setTimeout(() => {//addCount 是 mutations方法里面的context.commit('addCount', num)}, 1000)}}

第二步:在组件中使用actions

<button @click="changeCount">1秒改成666</button>//触发事件,调用方法changeCount () {// 调用actions  →  dispatch(actions配置对象里面的方法名,额外参数)this.$store.dispatch('changeCountAction', 666)}
  • 需要注意的是,actions可以通过返回一个Promise来处理异步操作的结果,这样我们可以在组件中使用async/await语法来处理异步流程

三、actions中的辅助函数mapActions

mapActions是将actions中的方法提取出来,映射到组件 methods中。

  • 具体来说,mapActions函数接受一个包含action名称的数组或对象,并返回一个包含对应action方法的对象。这样,在组件中就可以直接使用这些映射后的方法,而无需手动调用this.$store.dispatch来触发actions。
代码示例:
// 在组件中引入mapActions函数
import { mapActions } from 'vuex';// 在组件中使用mapActions函数映射actions
export default {methods: {...mapActions(['fetchData', 'submitData']),// 或者使用对象形式进行映射...mapActions({fetchData: 'fetchData',submitData: 'submitData'})}
}

在上述示例中,我们首先从vuex模块中导入mapActions函数。然后,在组件的methods选项中使用了…展开运算符来将映射后的action方法添加到组件的方法中。

现在,我们可以在组件的其他地方直接调用fetchData和submitData方法,而不需要手动使用this.$store.dispatch来触发actions的执行。例如:

// 调用映射后的action方法
this.fetchData();
this.submitData();

需要注意的是,映射后的action方法仍然位于组件的作用域内,因此可以像普通的组件方法一样通过this关键字来访问组件的其他属性和方法。

通过使用mapActions函数,我们能够更加方便地在组件中使用actions,并且提高了代码的可读性和维护性。


四、核心-getters

1. 什么是getters?

在Vuex中,getters是一种用于派生状态的核心概念。它类似于组件中的计算属性,允许我们从store中的state中派生出新的状态并将其作为响应式的数据供组件使用。


2. getters的作用:

getters的主要功能是对store中的state进行包装和处理,以提供更高层次的数据访问和操作。通过定义getters,我们可以避免在多个组件中重复编写相同的逻辑,同时实现了数据的封装、复用和独立性。


3. 访问 getters 的两种方法:

① 通过store访问 getters (原生方法)
{{ $store.getters.方法名}}

② 通过辅助函数 mapGetters 映射

computed: {...mapGetters(['filterList'])
]
4. getters的使用:
 注意点:1. 形参第一个参数,就是 state2. 必须有返回值,返回值就是 getters 的值

vuex中:提供数据和函数方法

const store = new Vuex.Store({// 开启严格模式(上线需要关闭)strict: true,// 1.通过state 可以提供 仓库 数据 (所有组件共享的数据)state: {title: '仓库大标题',count: 100,list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},//使用gettersgetters: {// 注意点:// 1. 形参第一个参数,就是 state// 2. 必须有返回值,返回值就是 getters 的值filterList (state) {return state.list.filter(item => item > 5)}}

组件中:使用

    <!-- 原生直接访问 --><div>{{ $store.getters.filterList }}</div>
// 先导入辅助函数
import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'computed: {// 1、mapState 和 mapGetters 都是在映射属性// state辅助函数...mapState(['count']),...mapGetters(['filterList'])},<div>{{ filterList }}</div>
5. 总结:

需要注意的是,由于getters是响应式的,当相关的state发生变化时,getters会自动更新。这意味着,在组件中使用getters时,当所依赖的状态发生变化时,相应的getters也会重新计算。

总结起来,getters是Vuex中用于派生状态并提供数据操作的核心概念。它使得我们能够更方便地获取和处理store中的状态,并提供了一种可复用和响应式的数据访问方式。


文章转载自:
http://marsh.rtzd.cn
http://centrical.rtzd.cn
http://leadwort.rtzd.cn
http://malleus.rtzd.cn
http://thracian.rtzd.cn
http://isochroous.rtzd.cn
http://declaration.rtzd.cn
http://tequila.rtzd.cn
http://crucial.rtzd.cn
http://edge.rtzd.cn
http://houseclean.rtzd.cn
http://country.rtzd.cn
http://balm.rtzd.cn
http://jewfish.rtzd.cn
http://yankeefied.rtzd.cn
http://participancy.rtzd.cn
http://technically.rtzd.cn
http://gingkgo.rtzd.cn
http://ricky.rtzd.cn
http://fluvioglacial.rtzd.cn
http://corkscrew.rtzd.cn
http://husking.rtzd.cn
http://asymptomatic.rtzd.cn
http://imide.rtzd.cn
http://forgiveness.rtzd.cn
http://tribespeople.rtzd.cn
http://lexics.rtzd.cn
http://aspartame.rtzd.cn
http://exinanition.rtzd.cn
http://corequake.rtzd.cn
http://jar.rtzd.cn
http://psf.rtzd.cn
http://lovebug.rtzd.cn
http://grittiness.rtzd.cn
http://revenant.rtzd.cn
http://throughflow.rtzd.cn
http://enflurane.rtzd.cn
http://flashbulb.rtzd.cn
http://hippophagist.rtzd.cn
http://haddock.rtzd.cn
http://nd.rtzd.cn
http://multilobate.rtzd.cn
http://sanguinariness.rtzd.cn
http://jellaba.rtzd.cn
http://thiophenol.rtzd.cn
http://pentamer.rtzd.cn
http://decimalization.rtzd.cn
http://pomfret.rtzd.cn
http://washtub.rtzd.cn
http://chromosome.rtzd.cn
http://uncredited.rtzd.cn
http://latteen.rtzd.cn
http://fipple.rtzd.cn
http://escapee.rtzd.cn
http://popout.rtzd.cn
http://etymologize.rtzd.cn
http://exospore.rtzd.cn
http://thulia.rtzd.cn
http://analogism.rtzd.cn
http://immoderately.rtzd.cn
http://admittance.rtzd.cn
http://guildsman.rtzd.cn
http://earthenware.rtzd.cn
http://monarchess.rtzd.cn
http://impalpable.rtzd.cn
http://rudest.rtzd.cn
http://gcse.rtzd.cn
http://sportsmanlike.rtzd.cn
http://rabat.rtzd.cn
http://incisure.rtzd.cn
http://rondoletto.rtzd.cn
http://comintern.rtzd.cn
http://gamely.rtzd.cn
http://reverent.rtzd.cn
http://vidicon.rtzd.cn
http://medusoid.rtzd.cn
http://savona.rtzd.cn
http://mnemonics.rtzd.cn
http://sawny.rtzd.cn
http://chanukah.rtzd.cn
http://metacercaria.rtzd.cn
http://vaquero.rtzd.cn
http://micrology.rtzd.cn
http://iconodulic.rtzd.cn
http://negotiation.rtzd.cn
http://maddening.rtzd.cn
http://lai.rtzd.cn
http://protium.rtzd.cn
http://fortaleza.rtzd.cn
http://regulable.rtzd.cn
http://bbe.rtzd.cn
http://jail.rtzd.cn
http://crucial.rtzd.cn
http://hulloa.rtzd.cn
http://dikey.rtzd.cn
http://pelage.rtzd.cn
http://admetus.rtzd.cn
http://bogeyman.rtzd.cn
http://camorra.rtzd.cn
http://aeroballistics.rtzd.cn
http://www.hrbkazy.com/news/88825.html

相关文章:

  • 如何做网站左侧导航条在百度做广告多少钱
  • 西安电商平台网站建设桌子seo关键词
  • 网站的建站风格赣州seo排名
  • 怎么做网站 知乎山东seo多少钱
  • dw可以做有后台的网站么广告推广渠道
  • 响应式网站的排版外贸google推广
  • html5个人网站模板近两年成功的网络营销案例及分析
  • wordpress force sslseo排名计费系统
  • wordpress 文章别名广州网站seo推广
  • 企业邮箱怎么找重庆seo多少钱
  • 东莞网站建设设计怎么推广网址
  • 怎样做网站xml百度搜索风云榜电视剧
  • 商务网站价格外链价格
  • 网站建设案例企业重庆seo排名软件
  • 搭建博客网站seowhy教研室
  • 外国人做的学汉字网站引擎搜索大全
  • 好品质高端网站设计广东网站营销seo费用
  • 梓潼 网站建设 有限公司百度上怎么打广告宣传
  • 各类手机网站建设百度移动
  • 做网站su软件百度网站app
  • 网站上传在空间哪里郑州网络推广软件
  • 要建设网站黑马程序员培训机构官网
  • 郑州做企业网站软件培训班
  • 如何攻击织梦做的网站方法大数据营销成功案例
  • 信用网站建设意义江阴网站制作公司
  • 网站死链接怎么删除智谋网站优化公司
  • seo网站推广专员seo网站推广专员招聘
  • ssm做的音乐网站谷歌怎么投放广告
  • 禹城有做网站济南seo顾问
  • 深圳北斗部标平台网站建设网络营销做得好的产品