vue.js - Vue.js - 为什么我的子组件无法访问 store getter 作为属性?
问题描述
我在我的商店中定义了一个吸气剂,我尝试在我的子组件中访问它,但我只能将它作为一种方法来访问......
我在文档中读到我们可以将其作为属性访问,但是当我这样做时,它会返回 getter 函数的签名,这是我的代码: const store = { state: { storage }, getters: { username: ( state, getters) => { return 'tmp'; } } }
我的子组件:
export default {
data() {
return {
username: this.initialUsername
}
},
methods: {
...mapMutations([
'login'
]),
onLogin(e) {
this.login(this.username);
}
},
computed: {
...mapGetters({
initialUsername: 'username'
})
},
created() {
console.log(this.username)
}
}
我在控制台中得到什么:
ƒ username(state, getters) {
return 'tmp';
}
知道为什么吗?
谢谢 ;)
解决方案
好吧,我知道为什么它不起作用大声笑,我只是没有实例化一个 vuex 存储,而只是一个包含我的状态和吸气剂的普通对象......:
export default {
state: {
storage
},
getters: {
username: (state, getters) => {
return state.storage.username;
}
},
mutations: {
[LOGIN]: (state, username) => {
state.storage.username = username;
},
[LOGOUT]: state => {
state.storage.logout();
}
}
}
对不起,我是第一次使用 vuex '-'
推荐阅读
- c# - 如何将数据发布到 .net core restApi 中的多个表?
- javascript - 如何确认密码以更改密码并在 api 中发布?
- python - 在 Python 中渲染像素的最基本方法是什么?
- flutter - 添加动态滑块值以列出和打印它们并将它们作为帖子发送到服务器
- node.js - Express 4.17 req.body 为空
- react-native - 在堆栈导航器托管的屏幕内访问“headerRight”
- amazon-web-services - EMR 上的 s3-dist-cp 是否使用 EMR 一致视图元数据?
- java - 尝试在空对象引用上调用虚拟方法“void android.media.MediaPlayer.setLooping(boolean)”
- c# - IdentityServer 和用户管理——这些问题应该分开吗?
- android - 我理解吗?错了吗?(更新或插入房间数据库时的主键错误)