第一次使用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)
}
}