Javascript 如何在Vue Js中使用字符串变量模式创建输入名称字段?

Javascript 如何在Vue Js中使用字符串变量模式创建输入名称字段?,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我使用VueJs,我需要提取javascript变量来生成隐藏字段 但是我需要通过变量的索引设置名称 我想使用之字形命名模式 像 Foreach使用变量生成隐藏字段: var test_template = { 0: { nb: 2 }, 1: {

我使用VueJs,我需要提取javascript变量来生成隐藏字段

但是我需要通过变量的索引设置名称

我想使用之字形命名模式

Foreach使用变量生成隐藏字段:

    var test_template = {
                        0: {
                            nb: 2
                        },
                        1: {
                            nb: 1
                        },
                        2: {
                            nb: 4
                        }
                    };
    <div v-for="(a,index) in test_template" class="row">            
      <input type="hidden" :name="segment[index][nb]" :value="a.nb">
   </div>

此处,:name是access vuejs值的动态实例。 索引是vuejs变量,但“”不是vuejs变量,它实际上是一个字符串

但我需要这个模式来生成输入数组

这可能吗

还有其他解决方案吗


提前谢谢

我遇到了与您相同的问题,下面是我如何解决它的

在vue实例中创建类似的方法

getInputName(index, dataName){
      return "items["+index+"]["+dataName+"]";
    }    
然后你可以这样使用它:

<input v-bind:name="getInputName(index, 'name')" type="text" v-model="item.name">
<input v-bind:name="getInputName(index, 'price')" type="text" v-model="item.price">
就这样

干杯,
Sipman

要通过索引创建具有动态名称的输入元素,可以在JS表达式中使用
+
来连接:

<div v-for="(a,index) in test_template" class="row">            
  <input type="hidden" :name="'segment[' + index + '][nb]'" :value="a.nb">
</div>

生成:

<input type="hidden" name="section[0][nb]" value="2">
<input type="hidden" name="section[1][nb]" value="1">
<input type="hidden" name="section[2][nb]" value="4">


请参阅:

您尝试过segment+a.nb吗?您也可以使用JS6插值<代码>:name=“`segment[${index}][nb]`”
<div v-for="(a,index) in test_template" class="row">            
  <input type="hidden" :name="'segment[' + index + '][nb]'" :value="a.nb">
</div>
<input type="hidden" name="section[0][nb]" value="2">
<input type="hidden" name="section[1][nb]" value="1">
<input type="hidden" name="section[2][nb]" value="4">