如何在Vue.js中的基于类的组件中编写计算的设置器

39e*_*ret 6 vue.js vuejs2

我有以下代码用于计算属性。

computed: {
  filterText: {
    get() {
      return this.filter; // it's a vuex state
    },
    set(value) {
      this.setFilter(value); // it's a vuex action
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想在基于类的组件中编写它。我认为getter应该是这样,但是怎么写setter呢?

get filterText() {
  return this.filter
}
Run Code Online (Sandbox Code Playgroud)

Dig*_*ter 13

基于类的组件使用getset用于计算属性:

get filterText() {
  return this.filter
}

set filterText(value) {
  this.filter = value
}
Run Code Online (Sandbox Code Playgroud)

用TypeScript编写的单个文件组件的结构如下:

<script lang="ts">
  import { Component, Vue } from 'vue-property-decorator'

  @Component
  export default class MyClass extends Vue {
    private filter: string = ''

    public get filterText(): string {
      return this.filter
    }

    public set filterText(filter: string) {
      this.filter = filter
    }
  }
</script>
Run Code Online (Sandbox Code Playgroud)

  • 如何调用set方法? (2认同)