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
不是一个函数:),但感谢您的输入。我将报告一旦我从后端获得正确的数据,我就不会返回