如何将Bootstrap-Vue输入的旧值传递给它调用的方法?

时间:2019-02-19 17:28:40

标签: vue.js bootstrap-vue

我正在使用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)"

$eventevent无法识别为变量。 如何通过方法访问旧值和新值? (更改动态分配给Vue组件的对象的键的替代方法也可能会有所帮助,但这是不合时宜的。)

0 个答案:

没有答案