Подтвердить что ты не робот

Вычисленное/динамическое имя v-модели внутри v-for

У меня есть форма, сгенерированная через v-for.

Примечание. Я использую "@" для выхода из лезвия.

У моего vue isstance есть:

data: {
    form: {
        inputs: [{icon: "",  name="",  placeholder: "", type="",  value=""}]
    },
    owner: {first_name: "", last_name: "", cell_phone: "", email: ""}
}

Я сгенерирую форму с помощью:

<template v-for="input in form.inputs">
    <div style="margin-bottom: 25px" class="input-group">
        <span class="input-group-addon"><i class="glyphicon [email protected]{{input.icon}}"></i></span>
         <input id="[email protected]{{input.name}}" v-model="?????" type="@{{input.type}}" class="form-control" name="@{{input.name}}" placeholder="@{{input.placeholder}}">
    </div>
</template>

Я хочу связать каждый вход с соответствующим свойством подрядчика. Поэтому я хочу, чтобы значения v-models были owner.first_name, owner.last_name, owner.cell_phone и владельцем. Эл. адрес. Я надеялся, что смогу сделать:

 v-model="'owner' + @{{input.name}}"

Но я получаю:

[Vue warn]: v-model="'owner' + {{input.name}}": attribute interpolation is not allowed in Vue.js directives and special attributes.
vue.js:1956 Error: Warning Stack Trace
    at warn (vue.js:1956)
    at Directive.bind (vue.js:4507)
    at Directive._bind (vue.js:8668)
    at linkAndCapture (vue.js:7367)
    at compositeLinkFn (vue.js:7345)
    at new Fragment (vue.js:5373)
    at FragmentFactory.create (vue.js:5575)
    at Directive.create (vue.js:5844)
    at Directive.diff (vue.js:5757)
    at Directive.update (vue.js:5692)

Свойства владельца соответствуют имени input.name для каждого входа.

Спасибо

Описание приложения: Я пытаюсь создать владельца, используя несколько форм. Каждая форма создается через ajax-запрос, который получает объект формы, который содержит входы n и действие для этой формы.

4b9b3361

Ответ 1

Вы можете попробовать следующее:

v-model="owner[input.name]"