vue中v-model的一点使用心得
我的data里面有个值是字典的对象: config_template: {},
这个值会被后端返回的数据填充,填充后大概是这样的:
u 'config_template': { u 'startShowTime': u '-1', u 'name': u 'DoubleXp', u 'eventDict/paraDict/BetCoins': u '0.02', u 'version_min': u '2.4.0', u 'expiration': u '2d', u 'localFeature': u 'BetCoins', u 'eventDict/event': u 'MultipleXPEvent', u 'type': u 'eventCmd' }
现在我要在template中,把这些字段都渲染成输入框,用v-model双向绑定
开始是这样写的:
<el-form-item v-for="(v,k) in config_template" :label="k" :key="k" v-if="k!='expiration' && k!='eventDict/paraDict/BetCoins' && k!='startShowTime'"> <el-input :v-model="config_template.k" :prop="k" :value=“v"></el-input> </el-form-item>
发现页面中虽然渲染出了数据,但是并没有双向绑定,原来是输入框中的数据是由 value属性渲染出来的, 也就是v-model并没有生效
改成 v-model="config_template.k" :v-model="v" 都不行
试了一番,最后用 v-model=config_template[k] 才成功,之前都没有这样用过属性,都是直接点的