如何在vue类中为v模型使用计算属性?

时间:2019-04-04 21:12:42

标签: typescript vue.js vuejs2 vue-class-components

我想对vuex的vuedraggable插件使用v-model,但是我不知道如何不在@Component装饰器中设置如下所示的计算属性。还有其他解决方案吗?

computed: {
  myList: {
    get() {
      return this.$store.state.Goal.goalData.steps
    },
    set(value) {
      this.$store.dispatch('sortList', {id: this.$store.state.Goal.goalId, list:value})
    }
  }
}

<draggable v-model='myList'></draggable>

1 个答案:

答案 0 :(得分:1)

您可以这样进行:

<template>
  <div>
    <input v-model="computedMsg">
  </div>
</template>

<script>
import Vue from 'vue'
import Component from 'vue-class-component'

@Component({
  props: {
    propMessage: String
  }
})
export default class App extends Vue {

  // computed
  get computedMsg () {
    return state.val
  }

  set computedMsg (val) {
    return store.commit("changeVal", val)
  }
}
</script>

请记住,您需要调整上面的代码以适合您的特定应用程序。