【发布时间】:2017-07-05 05:18:57
【问题描述】:
我的组件代码是这样的:
<script>
import _ from 'lodash'
export default{
props:['search','category'],
data(){
return{
price_min:'',
price_max:''
}
},
computed:{
filters(data){
const price = {min:this.price_min, max:this.price_max}
return {q:this.search, category:this.category, sort:data, location:data, price}
},
},
methods:{
filterProduct: _.debounce(function(data=null){
this.$store.dispatch('getProducts', this.filters(data))
},500)
}
}
</script>
我的完整代码是这样的:http://pastebin.com/K7vwU0yY
执行时,控制台出现如下错误:
未捕获的类型错误:this.filters 不是函数
我该如何解决这个错误?
【问题讨论】:
-
我觉得你应该这样声明:
filters:function(data){...}. -
computed 创建一个数据属性,它并不意味着用作函数。更像是一个数据属性,它根据其他一些变量进行计算。
-
location:data, price这条线是什么意思?这样我就可以给你推荐一个替代方案。 -
@Alexandru-Ionut Mihai,是一样的。它不起作用
-
@Amresh Venugopal,查看我的完整代码
标签: javascript vue.js laravel-5.3 vuejs2 vue-component