在读取 if(this.$store.getters.getUser).username时出现:
原始页面create()函数:
created() {
// 用户信息不为空就回写,拉取index里信息
if(this.$store.getters.getUser.username) {
this.user.username = this.$store.getters.getUser.username
this.user.avatar = this.$store.getters.getUser.avatar
this.hasLogin = true
}
}
TypeError: Cannot read property 'username' of null。
这是因为在src/store/index.js里写的Getter导致的。
getters:{
//get
// 获取userInfo信息
getUser:state => {
return state.userInfo
}
},
这里写的时候没有写username,因此这里如果Vue3里配置的store正确,即在main.js里导入包,并且use(store),最终是进不去if判断,因为if判断里得到的是一个null空指针,因此进入不了循环。
正确修改方式:根据index.js内的配置,判断是否可以得到getUser,然后得到userInfo并且做赋值操作。
将判断出现空值的地方去掉。
created() {
// 用户信息不为空就回写,拉取index里信息
if(this.$store.getters.getUser) {
this.user.username = this.$store.getters.getUser.username
this.user.avatar = this.$store.getters.getUser.avatar
this.hasLogin = true
}
}