使用vuex-class时,@State定义的属性访问出现问题?

第一次使用vuex-class,这是我的一个页面的简化代码,store.state.app.iconText默认值是字符串"iconText"

const appModule = namespace("app");
@Component
export default class CDrawer extends Vue {
  @appModule.State("iconText")
  iconText!: AppState["iconText"];

  drawerTitle = "设置";
  settings = {
    iconText: this.iconText
  };

  mounted() {
    console.log(this.iconText); // "iconText" (What I want.)
    console.log(this.settings.iconText); // undefined (Why?)
  }
}

如果我改成下面这样,也是可行的,但我觉得这不是正确的解决方案:

const appModule = namespace("app");
@Component
export default class CDrawer extends Vue {
  @appModule.State("iconText")
  iconText!: AppState["iconText"];

  drawerTitle = "设置";
  settings = {
    iconText: this.$store.state.app.iconText
  };

  mounted() {
    console.log(this.iconText); // "iconText" (What I want.)
    console.log(this.settings.iconText); // "iconText" (Yes)
  }
}
阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题