请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

ts中能否将方法变成属性的形式去调用

图片描述

老师你好,ts能否像py一样 有一个@property 装饰器,能把函数装饰成属性
图片描述
我想调用的时候把这里的括号去掉 以属性调用

正在回答 回答被采纳积分+3

1回答

keviny79 2021-12-23 22:20:10

Vuex中  export default   UserModuleGetters.getToken() 

组件中就可以直接用 getToken来使用了

0 回复 有任何疑惑可以回复我~
  • 提问者 乔刻力 #1
    老师 你好,如果我这里有多个获取方法,那还是要写()   我想要的是   将方法转为属性
    回复 有任何疑惑可以回复我~ 2021-12-23 22:42:03
  • keviny79 回复 提问者 乔刻力 #2
    多个方法,只需要 往 foodSortModuleGetters 增加 key-value 来增加方法,也不需要定义类来管理,定义函数管理即可,vue组件就可以获取到多个方法了,虽然加了一行, 但这是目前最简洁最好的实现方式了
    
    type foodSortModuleGetters = {
      "foodSortModule/getFoodSortList":
      (state: FoodSortListState) => void;
      "foodSortModule/getFoodSortList2":
      (state: FoodSortListState) => void;
    }
    
    
    function getFoodSortModuleGetters() {
      return store.getters as foodSortModuleGetters
    }
    
    export default getFoodSortModuleGetters()
    回复 有任何疑惑可以回复我~ 2021-12-24 10:06:19
  • 提问者 乔刻力 回复 keviny79 #3
    老师你好,这种方法引用   页面会报错
    index.ts:9 
            
           Uncaught ReferenceError: Cannot access 'store' before initialization
        at UserModuleGetters (index.ts:9)
        at index.ts:11
    回复 有任何疑惑可以回复我~ 2021-12-24 13:16:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信