Как я могу передать старое значение входа Bootstrap-Vue методу, который он вызывает? - PullRequest
0 голосов
/ 19 февраля 2019

Я использую v-for для создания большого количества входов.Эти входные данные станут клавишами объекта, поэтому я не могу (?) Использовать v-модель, чтобы напрямую связать входные данные с объектом.Пользователь приложения также сможет добавлять и удалять ключи, поэтому только сам объект является глобальным значением.Вместо этого я делаю это:

<b-form-group horizontal label-cols="1" v-for="(site, a) in config.sites">
    <b-form-group horizontal label-cols="1" label="Site: ">
        <b-form-input type="text" :value="a" @change="changeKey" required />
    </b-form-group>
</b-form-group>

changeKey - метод, который требует старого ключа (этот метод изменения ключа объекта, извлекаемого из другого места на этом сайте):

changeKey: function(old_key, new_key) {
    Object.defineProperty(this.config, new_key, Object.getOwnPropertyDescriptor(this.config, old_key));
    delete this.config[old_key];
}

Я знаю, что могу передать только старое значение с

<b-form-input type="text" :value="a" @change="changeKey(a)" required />

и только новое значение с

<b-form-input type="text" v-model="a" @change="changeKey(a)" required />

Однако мне нужно оба старые и новые ценности.Я не могу передать объект события, который является решением, предложенным другими ответами на подобные вопросы:

@change="changeKey(a, $event)"

$event и event не распознаются как переменные.Как я могу получить доступ к старым и новым значениям из моего метода?(Альтернативные методы изменения ключей объектов, динамически назначаемых компонентам Vue, также были бы полезны, но не по теме.)

...