如何更改计算的 属性 的值?

How can I change the value of a computed property?

有没有办法更改计算 属性 的初始数据?当我尝试使用输入标签更改数据时,vue 给了我一个警告,例如 Write operation failed: computed 属性 "searchField" is readonly。如果您想知道为什么我用计算而不是数据 属性 来制作这个简单的案例,那只是为了论坛中的简单性。我用计算出来的是有原因的。这是代码。

<template>
  <input type="text" v-model="searchField" />
</template>

<script>
  export default {
    computed: {
      searchField() {
        return "";
     }
    }
  };
</script>
当您围绕数据应用一些逻辑时,

computed 属性很有趣。 在您的示例中,您应该首先声明一个 data 属性,然后您可以使用 getter / setter 应用逻辑:

<template>
  <input type="text" v-model="searchField" />
</template>

<script>
  export default {
    data: () => ({
      _searchField: ''
    }),
    computed: {
      searchField: {
        get() {
          return this._searchField
        },
        set(value) {
          this._searchField = value
        }
     }
    }
  };
</script>