【发布时间】:2018-04-20 16:22:54
【问题描述】:
大家好,我有这段代码可以使用 axios 从数据库中获取数据,并且在 .then() 函数中我设置了一个数据属性,手表不会触发。这是我目前拥有的一些代码。并提前感谢您!
export default {
name: '..',
data() {
return {
autocompleteOn: false
}
},
watch: {
autocompleteOn(oldVal, newVal) {
console.log('autocomplet') // doesnt trigger this
}
},
methods: {
fetchAutocompleteResults: _.debounce((filter) => {
let $this = this;
let data = {
filter: filter,
page: $this.page
};
filter.resources.response = [];
filter.loading = true;
axios.post(BASE_URL + '/search/filter', data).then(function(response) {
if (response.data.length) {
filter.autocompleteOn = true;
$this.autocompleteOn = true;
filter.resources.response = filter.resources.response.concat(response.data);
$this.currentFilter = filter;
$this.page++;
console.log($this.autocompleteOn); // this is correct
}
filter.loading = false;
});
}, 300)
}
}
【问题讨论】:
-
filter.autocompleteOn正确吗?试试这个data.filter.autocompleteOn
标签: javascript vue.js