Я пытаюсь запустить метод с именем query()
, когда изменяется свойство компонента с именем q
в Vue.js.
Это не удалось, потому что this.query()
не определено. This
ссылается на экземпляр моего компонента, но почему-то не содержит методов.
Вот соответствующая часть кода, где я пытаюсь просмотреть свойство компонента q
и запустить функцию query()
:
methods: {
async query() {
const url = `https://example.com`;
const results = await axios({
url,
method: 'GET',
});
this.results = results.items;
},
debouncedQuery: _.debounce(() => { this.query(); }, 300),
},
watch: {
q() {
this.debouncedQuery();
},
},
Ошибка:
TypeError: _this2.query не является функцией
Если я напишу вызов debounce()
, как показано ниже, ошибка TypeError: expected a function
появляется еще раньше, при загрузке страницы.
debouncedQuery: _.debounce(this.query, 300),