javascript - Vue.js 参数化变量名称

标签 javascript vue.js

我正在尝试参数化变量名称,以便它们可以作为属性传递到我的组件中。在下面的示例中,我想使用它将项目变量的名称传递到数组中,以便我可以有选择地将它们显示为表中的列,而绑定(bind)不必知道项目变量名称。

<div id="myApp">
   <h2>parameterized variable names</h2>
    <table>
      <tr>
        <th v-for="label in labels">{{label}}</th>
      </tr>  
      <tr v-for="item in items">
         <td v-for="label in labels">{{item.label}}</td>
      </tr>  
    </table>  
 </div>

我的 Vue 实例如下所示 -

new Vue({
  el: '#myApp',
  data: {
      labels:[
        'text', 
        'value'
      ],
      items:[ 
        {text: 'One', value: 'A', something:'12'},
        {text: 'Two', value: 'B', something:'67'},
        {text: 'Three', value: 'C', something:'66'}  
      ]  

  }
});

这不起作用,因为它试图在声明 {{item.label}} 中呈现一个名为“label”的变量。我怎样才能告诉它“标签”不是文字变量名称?

最佳答案

您可以在 Vue.js 模板中使用数组语法,因此以下内容应该有效:

<td v-for="label in labels">{{ item[label] }}</td>

关于javascript - Vue.js 参数化变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003138/

相关文章:

JavaScript 对象。更改数组中对象的键名

javascript - 未捕获的类型错误 : Cannot read property 'addMethod' of undefined

javascript - 哪些文档描述了传递给 Express app.METHOD 回调参数的内容

javascript - Vue 与 VCalendar 组件 : Keep data in sync with another Vue instance

vue.js - 来自 swagger 规范的 vue.js 客户端

javascript - 当子 prop 动态更改时,对象作为 React 子对象无效

javascript - 如何判断字符串是否同时包含单引号 (') and a double-quote (")?

javascript - Vue.js 2.0 主实例

javascript - 如何在 Vue.js 中使用函数而不是 v-for 来访问数据?

vue.js - VueJS : router. 解决问题