Javascript 未捕获类型错误:无法使用';在';操作员搜索';代币';未定义
我是vue.js的新手,尝试制作一个navbar组件,当用户未通过身份验证时,该组件会显示一个Javascript 未捕获类型错误:无法使用';在';操作员搜索';代币';未定义,javascript,vue.js,computed-properties,Javascript,Vue.js,Computed Properties,我是vue.js的新手,尝试制作一个navbar组件,当用户未通过身份验证时,该组件会显示一个登录按钮。代码如下: <template> <div class="row"> <div class="container"> <div v-if="token"> <br> <router-link to="/login"> <button> Lo
登录
按钮。代码如下:
<template>
<div class="row">
<div class="container">
<div v-if="token">
<br>
<router-link to="/login">
<button> Login</button>
</router-link>
</div>
<router-link to="/" >
<img class="img-responsive" src="../assets/img/logo.png">
</router-link>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'Navbar',
props: {
msg: String
},
data: function() {
},
computed: {
token () {
return this.$store.getToken;
},
},
}
</script>
token
在商店的tate中定义,而getToken
在商店中定义为:
getters: {
getToken: state => {
return state.token;
}
},
如果我删除了comuted
部分,则会收到以下警告:
[Vue warn]: Property or method "token" is not defined on the instance but referenced during render.
如何解决此问题?此错误可能不是由getter引起的,如何在存储区中设置带有突变的令牌?我在存储区的突变中执行此操作:
setToken:function(state,token){state.token=token;},
您是否在初始状态下定义了令牌,例如:令牌:null
?它不应该是这个。$store.getters.getToken
在computed中?我删除了数据
部分,错误消失了!显然,空数据会导致问题?!
[Vue warn]: Property or method "token" is not defined on the instance but referenced during render.