Vue.js 2.x TypeScript - вызов метода из другого метода в том же компоненте - PullRequest
0 голосов
/ 03 июня 2019

Итак, в части <script> файла vue у меня есть что-то вроде следующего:

import { Component, Vue } from 'vue-property-decorator';

@Component({
    methods: {
        funcA(x) {
            // more code
        },
        funcB(y) {
            funcA(y)
        },
    },
})

export default class SomeClass extends Vue {}

При использовании TypeScript приведенный выше код выдает ошибку

Cannot find name 'funcA'.

(Он работает так, как задумано, если вместо этого определен как JavaScript.)

Я прочитал this и this и попытался использовать вместо него this.funcA(y), в котором выдается другая ошибкаиз

Property 'funcA' does not exist on type 'Vue'.

Мне интересно, как правильно сделать это с помощью TypeScript.

1 Ответ

2 голосов
/ 03 июня 2019

Вы можете объявить методы funcA и funcB непосредственно в классе, как указано в документации для вя-класс-компонент

  1. methods может быть объявлено непосредственно как методы члена класса.

Ваш компонент может быть изменен на следующее:

import { Component, Vue } from 'vue-property-decorator';

@Component({})

export default class SomeClass extends Vue {
  funcA(x) {
    // more code
  }
  funcB(y) {
    this.funcA(y)
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...