Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue-是否可以在组件的computed属性中使用Vuex getter?_Javascript_Vue.js_Vuejs2_Vue Component_Vuex - Fatal编程技术网

Javascript Vue-是否可以在组件的computed属性中使用Vuex getter?

Javascript Vue-是否可以在组件的computed属性中使用Vuex getter?,javascript,vue.js,vuejs2,vue-component,vuex,Javascript,Vue.js,Vuejs2,Vue Component,Vuex,在我的vuex中,存储有不同的变量,例如loggedIn。现在我需要从组件的computed部分使用这个变量,因为我想根据变量值过滤数组 在这里,您可以看到我希望如何在代码中使用它 <td v-for="(item, index) in navLinks" :item="navLink" :key="index"> <router-link :to="{ name: item.name }" class="router-links" exact>{{ item.tex

在我的vuex中,存储有不同的变量,例如
loggedIn
。现在我需要从组件的
computed
部分使用这个变量,因为我想根据变量值过滤数组

在这里,您可以看到我希望如何在代码中使用它

<td v-for="(item, index) in navLinks" :item="navLink" :key="index">
  <router-link :to="{ name: item.name }" class="router-links" exact>{{ item.text }}</router-link>
</td>
我总是犯错误

未捕获的TypeError:无法读取未定义的属性“loggedIn”

所以我认为我不能在安装组件之前使用Vuex getter,因为
没有定义这个

如果我在
data
中使用
v-If
-指令的
navLinks
,我会得到一个错误,因为v-for绑定不允许使用v-If绑定


那么如何解决我的问题呢?

navLinks
应该是一个返回数组的函数:

computed: {
  ...mapGetters(['user', 'loggedIn']),
  navLinks(){
  return [
    {
      vif: !this.loggedIn,
      name: 'Register',
      text: 'Registrieren',
    },
    {
      vif: this.loggedIn,
      name: 'Logout',
      text: 'Logout',
    },
  ];
 ),
},

你说得对:在computed中,应该有函数,而不是变量。。。非常感谢。
computed: {
  ...mapGetters(['user', 'loggedIn']),
  navLinks(){
  return [
    {
      vif: !this.loggedIn,
      name: 'Register',
      text: 'Registrieren',
    },
    {
      vif: this.loggedIn,
      name: 'Logout',
      text: 'Logout',
    },
  ];
 ),
},