Vue JS-Getter返回对象,而不是商店中的实际值

时间:2020-02-27 03:13:41

标签: javascript vue.js state vuex getter

我无法使用吸气剂在我的商店中吸引客户“爸爸”。但是,它会在屏幕上显示诸如[ "dad" ]之类的对象。我应该如何纠正呢?我是vue.js的新手

<template>
          <div class="hello">
        <p>{{ GET_CUSTOMERS }}</p>
        </div>
        </template>
    <script>
    import { mapGetters } from 'vuex'
    export default  {
    computed:{
      ...mapGetters([
      'GET_CUSTOMERS'
      ])
    }
    </script>

我的商店

state: {
            customers: ['dad']
        ],
getters: {
GET_CUSTOMERS(state){
                return state.customers;
            }
}

1 个答案:

答案 0 :(得分:1)

您的customers数据是一个数组。当您直接在{{ ['dad'] }}之类的模板中渲染数组时,Vue将在DOM中将其渲染为[ "dad" ]

我认为您只想渲染一位客户?您可以这样渲染第一个客户:

{{ GET_CUSTOMERS[0] }}

要渲染每个客户,您将需要使用v-for遍历每个客户:

<ul>
  <li v-for="(customer, i) of GET_CUSTOMERS" :key="i">
    {{ customer }}
  </li>
</ul>

或者,如果您愿意,也可以将每个客户加入一个字符串中,每个客户之间用逗号隔开:

{{ GET_CUSTOMERS.join(', ') }}