我在注销时清理Vuex状态并继续尝试从组件访问状态时遇到问题。
<custom-card
color="green"
:name="this.author.name"
:surname="this.author.surname"
>
computed: {
...mapGetters({
author: 'author'
}),
},
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in render: "TypeError: Cannot read property 'name' of null"
vue.runtime.esm.js?2b0e:1888 TypeError: Cannot read property 'name' of null
对我来说很明显,“作者”在注销时设置为null,这就是发生错误的原因。但尚不清楚为什么会这样。我以为在单击注销按钮后,vue-router应该将我重定向到登录页面,此后上一页的内容无关紧要。
如何避免这些错误?
更新。我认为可以在Vuejs文档的“ {Rectivity in Depth””文章中找到有关此问题的答案:
由于Vue不允许动态添加根级反应性属性,因此您必须通过预先声明所有根级反应性数据属性(即使值为空)来初始化Vue实例。 如果您未在data选项中声明消息,Vue将警告您渲染功能正在尝试访问不存在的属性。