首页 > 解决方案 > 将字符串数组传递给 prop vue

问题描述

我正在尝试将字符串数组传递给道具...

<vue-component  attributes="[Attribute0, Attribute1, Attribute2]"></vue-component>

这是我的组件

<template>
  <div id="app">       
      <ul class="content" v-bind:style="{ display: computedDisplay }" >
        <li v-for="(attribute, index) in Attributes" v-bind:key="attribute">{{index}} + " " +  {{attribute}}</li>
      </ul>

  </div>
</template>

<script>
export default {
  name: 'app',
  props: {
    elementName: {
      type: String,
      required: true
    },
    Attributes: {
      type: Array,
      required: false
    }
  },
</script>

我所期望的是三个元素“Attribute0”。“Attribute1”,“Attribute3”将在我的 v-for 循环中创建,但是它将我传递的内容视为一个字符数组......

这是输出

0 + " " + [
1 + " " + A
2 + " " + t
3 + " " + t
4 + " " + r
5 + " " + i
6 + " " + b
7 + " " + u
8 + " " + t
9 + " " + e
10 + " " + 0
11 + " " + ,
12 + " " +
13 + " " + A
14 + " " + t\
...

将字符串数组传递给道具的正确语法是什么?

标签: javascriptvue.js

解决方案


如果您仔细阅读,您实际上在这里传递了一个字符串:

<vue-component attributes="[Attribute0, Attribute1, Attribute2]"></vue-component>

您应该能够像这样传递一个字符串数组:

<vue-component :attributes="['Attribute0', 'Attribute1', 'Attribute2']"></vue-component>

推荐阅读