это не типа CombinedVueInstance в vue с машинописным текстом - PullRequest
1 голос
/ 02 августа 2020

В большинстве компонентов при использовании this внутри, например, метода моего объекта vue, он получает тип CombinedVueInstance, как и должно быть. Но иногда он получает типы вроде Vue при доступе к this в методе и Accessors<DefaultComputed> при доступе к this в вычисляемом методе, хотя, похоже, ничто не отличается. Вот как выглядит код:

import Vue, { PropType } from 'vue'

export default Vue.extend({
  props: {
    field: Object as PropType<FieldType>,
    row: Boolean as PropType<boolean>,
    events: Object,
  },
  data() {
    return {
      value: undefined,
    }
  },
  computed: {
    required() {
      return this.field.required && !this.value
    },
    invalid() {
      return this.field.isValid && !this.field.isValid(this.value)
    }
  },

Почему this иногда не получает тип CombinedVueInstance при использовании внутри объекта компонента Vue?

1 Ответ

2 голосов
/ 04 августа 2020

Попытайтесь дать вашим вычисляемым свойствам явные возвращаемые значения. (Часто это устраняет ошибку: это не типа CombinedVueInstance в vue с машинописным текстом )

computed: {
    required(): boolean {
      return this.field.required && !this.value
    },
    invalid(): boolean {
      return this.field.isValid && !this.field.isValid(this.value)
    }
  },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...