代码之家  ›  专栏  ›  技术社区  ›  oliverbj

Vue.js-具有多个同名键的绑定数组

  •  0
  • oliverbj  · 技术社区  · 6 年前

    Input.vue :

    <search-popover :fields="[{
     names: ['Title1', 'value1'],
     names: ['Title2', 'value2'],
    }]"></search-popover>
    

    现在,在我的 Popover.vue 文件,我只得到 最后的 元素 :fields :

    <ul v-for="field in fields">
        <li>
           <h5>{{ field.names[0] }}</h5>
           {{ values[field.names[1]]}}
        </li>
    </ul>
    

    将输出:

    Title2
    Value2
    

    我该怎么做,这样我就可以设置 :字段 动态地,这样我就可以访问 v-for ,它将输出:

    Title1
    Value1
    
    Title2
    Value2
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Jacob Goh    6 年前

    问题出在

    :fields="[{
     names: ['Title1', 'value1'],
     names: ['Title2', 'value2'],
    }]"
    

    (如果对象具有重复的属性,则使用后者。因此, { names: ['Title1', 'value1'], names: ['Title2', 'value2'], } 与…相等 { names: ['Title2', 'value2'], }

    您需要的可能是一个包含2个对象的数组,应该是

    :fields="[ 
        { names: ['Title1', 'value1'] }, 
        { names: ['Title2', 'value2'] }, 
    ]"
    
        2
  •  1
  •   WhosDustin    6 年前

    正确地遍历 names 必须有自己的目标。这样地:

    :fields = "[
      { names: ['Title1', 'value1'] }, 
      { names: ['Title2', 'value2'] }
    ]"
    

    @jacobgoh