vuex 在typescript中的详细使用: vuex-class

我们要说的vuex在ts文件中的使用主要是利用vuex-class!

安装vuex-class
$ npm install --save vuex-class
# or
$ yarn add vuex-class
Example
直接上代码,主要用法在代码中已经完全体现了,大家感受一下 。

import { Vue, Component, Prop, Watch } from 'vue-property-decorator';
import { State, Getter, Action, Mutation, namespace } from 'vuex-class';
const missionModule = namespace('mission');
@Component
export default class ViewMenuConditionComponent extends Vue {
  @missionModule.Getter('getTaskProps') taskProps;   //模块内getters用法,
  @missionModule.Getter('getConditionValues') conditionValues;
  @Action('foo') actionFoo     //全局的action调用方法
  @Mutation('foo') mutationFoo   //全局的mutation调用方法
 
  created () {
    this.taskProps // -> store.mission.taskProps
    this.conditionValues // -> store.mission.conditionValues
    
    this.actionFoo({ value: true }) // -> store.dispatch('foo', { value: true })
    this.mutationFoo({ value: true }) // -> store.commit('foo', { value: true })
  }
}
注意:

1、从以上代码中可以看出,当分模块调用内部的getters,actions,mutations时,需要引入namespaces,并且调用的时候需要加上@namespacesName

相关代码:
import { namespace } from 'vuex-class';
 
const missionModule = namespace('mission');
 
@missionModule.Getter('getTaskProps') TaskProps;  //在调用的时候可以直接this.TaskProps
2、当在ts中调用全局的state、getters、 actions、mutations时,可以直接通过@State、@Actions、@Getters、@Mutations来获取,在调用时,可以直接使用this来调用。

相关代码:
 
import { State, Getter, Action, Mutation} from 'vuex-class';
 
@State('foo') stateFoo     //全局的state调用方法
@Action('foo') actionFoo     //全局的action调用方法
@Mutation('foo') mutationFoo   //全局的mutation调用方法
@Getters('foo') getterFoo   //全局的getters调用方法
3、当获取的state,getters,actions,mutations的值和我们要设置的值相同时,可以直接省去,例如下方:

 @State foo
 @Getter bar
 @Action baz
 @Mutation qux
 
 
//可以直接通过this.foo/this.bar/this.baz/this.qux来调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值