v-for内部的动态计算属性

时间:2019-11-28 12:36:34

标签: vue.js vuex

我想基于df['2018'].isnull()循环内的动态计算属性为v-model分配一个值。检查此示例。

v-for
<template>
    <template v-for="field in fields">
        <custom-input v-model="field.name"></custom-input>
    </template>
</template>

因此,<script> export default { data() { return { fields: [{'name': 'foo'}] } }, computed: { foo: { get() { return this.$store.state.foo }, set(value) { return this.$store.commit('updateFoo', value) } } } } </script> 应该绑定到计算出的v-model属性。如果我直接将foo分配给foo,则一切正常,但是如果属性名称是动态计算的,则不会。有人可以解释我如何正确实施吗?

1 个答案:

答案 0 :(得分:0)

我认为这应该可行

<template v-for="field in fields">
    <custom-input v-model="computedValue"></custom-input>
</template>

<script>
export default {
  data() {
    return {
      fields: [{'name': 'foo'}]
    }
  },
  computed: {
    foo: {
      get() {
        return this.$store.state.foo
      },
      set(value) {
        return this.$store.commit('updateFoo', value)
      }
    },
    computedValue(){
        return this[this.fields.name] //or your dynamic variable
    }
  }
}
</script>