我试图去除一个AJAX调用只发送一次,但不幸的是,它告诉我,我传递的不是一个函数。这是我的代码:
getItems: function(page){
this.page = page;
console.log(typeof(this.getBackendItems));
_.debounce(this.getBackendItems(page), 500);
},
getBackendItems: function(page){
this.$http.get("{{url('api/user/items')}}", {page : page}).success(function(response){
this.items = response.data;
this.last_page = response.last_page;
});
},
Console.log说getBackendItems是一个函数,但仍然会抛出一个错误,即函数没有传递给_.debounce()调用。
答案 0 :(得分:0)
这是最适合我的解决方案:
<template>
<div>
<input type="text" v-model="term">
</div>
</template>
<script>
export default {
data() {
return {
term: ''
}
},
watch: {
term(value) {
this.search(value)
}
},
mounted() {
this.search = _.debounce(this.getBackendItems.bind(this), 1000)
},
methods: {
getBackendItems(value) {
console.log(value)
// ...
}
}
}
</script>