Javascript 与单个项目类型相同的Vue/axios过滤器类型
我有一个应用程序,我想显示项目列表。当你点击一个项目时,你会被发送到它的“页面”,页面上会显示它的信息 这些项目有一个类型 在单个项目信息下面,我想显示从所有项目列表中筛选出的具有相同类型的所有项目。但是,我不知道在我的Javascript 与单个项目类型相同的Vue/axios过滤器类型,javascript,vue.js,vuejs2,axios,nuxt.js,Javascript,Vue.js,Vuejs2,Axios,Nuxt.js,我有一个应用程序,我想显示项目列表。当你点击一个项目时,你会被发送到它的“页面”,页面上会显示它的信息 这些项目有一个类型 在单个项目信息下面,我想显示从所有项目列表中筛选出的具有相同类型的所有项目。但是,我不知道在我的filteriems()-方法中返回什么。由于axios调用是使用asyncData()完成的,因此我无权访问singleitem.type,是吗 HTML: JS: 导出默认值{ 数据(){ 返回{ 单个项目:[], allitems:[] } }, asyncData()
filteriems()
-方法中返回什么。由于axios调用是使用asyncData()
完成的,因此我无权访问singleitem.type
,是吗
HTML:
JS:
导出默认值{
数据(){
返回{
单个项目:[],
allitems:[]
}
},
asyncData(){
//从提供的ID获取单个项目
返回axios.get(`https://url/to/GetItemById${params.id}`)
。然后((结果)=>{
返回{singleitem:result.data}
})
//抓取所有物品
返回axios.get('https://url/to/GetAllItems')
。然后((结果)=>{
返回{allitems:result.data}
})
},
方法:{
filterItems(){
//从与单个项目具有相同类型的所有项目中筛选项目
返回allitems.filter(函数(类型){
//救命啊!
})
}
}
}
我认为这是计算属性的一个用例[
可能是这样的:
computed: {
filterItems: function() {
return this.allitems.filter(item => item.type != singleitem.type);
}
}
因此,每当数据发生更改时,filterItems就会获取(re)计算。好吧,我之所以使用
方法
有两个原因。第一个原因是Vue文档说的正好相反,computed
被缓存,as方法每次都运行。第二个原因是computed
告诉我这个。allitems.filter
不是一个函数:),但感谢您的输入。我将报告一旦我从后端获得正确的数据,我就不会返回