vue.js - 仅显示带有 category_name 的 API 数据:Vue 中的“WEBSITE”
问题描述
我通过以下 API 从 API 获取数据:
async mounted() {
const { data } = await axios.get('/api/talent', {
headers: {
'X-AUTH-TOKEN': '####',
'Content-Type': 'application/json'
}
})
this.results = data.content
},
API是这样的:
"talent_skills": [
{
"category_name": "Music",
"name": "Pop",
"level": 5
},
{
"category_name": "Instruments",
"name": "Guitar Accoustic",
"level": 3
},
{
"category_name": "WEBSITE",
"name": "Guitar Electric",
"level": 5
},
{
"category_name": "WEBSITE",
"name": "Roller Blading",
"level": 3
}
]
我只想显示具有 category_name 的 Talent_skills :WEBSITE
我试图过滤 axios 结果:
this.results = data.talent_skills.filter(data => data.category_name === 'WEBSITE')
但我得到了:
无法读取未定义的属性“过滤器”
学习如何过滤数据的好方法或链接是category_name
什么?
- 编辑 -
content: [{
cache_is_website: true,
firstname: '',
fullname: '',
fullname_sort: '',
slug: '',
talent_portfolios: [
{
id: 2,
name: '',
main: true,
website: true,
},
{
id: 3,
name: '',
main: false,
website: true,
},
],
talent_skills: [
{
category_name: 'Music',
name: 'Pop',
level: 5,
},
{
category_name: 'Instruments',
name: 'Guitar Accoustic',
level: 3,
},
{
category_name: 'WEBSITE',
name: 'Singer',
level: 5,
},
{
category_name: 'WEBSITE',
name: 'Guitar',
level: 1,
},
{
category_name: 'WEBSITE',
name: 'Roller blading ',
level: 1,
},
],
}]
解决方案
您正在使用.filter
未定义的变量:“无法读取未定义的属性'过滤器'”。
问题来自您使用 Axios 响应的方式,而不是您赋予该.filter
方法的功能。
正如 Axios 文档中提到的,您可以从响应中检索data
属性中的响应数据:
使用 then 时,您将收到如下响应:
axios.get('/user/12345') .then(function (response) { console.log(response.data); console.log(response.status); console.log(response.statusText); console.log(response.headers); console.log(response.config); });
-- Axios 文档(来自 Github Axios 项目:https ://github.com/axios/axios#response-schema )
您需要使用以下内容:
const response = await axios.get(...);
this.results = response.data;
const talent_skills = this.results.talent_skills;
// OR
const { data } = await axios.get(...);
const talent_skills = data.talent_skills;
推荐阅读
- tomcat - javax.mail 不再适用于 java 11 和 tomcat 8.5
- azure - Azure DevOps 更新多个生成定义
- pycharm - Pycharm - 自动完成不适用于外部库(.so 文件)
- java - 是否可以通过 java 中的 bouncycastle 使用 SMIME 加密常规文件
- python - 如何在python中将数据框作为参数传递?
- json - 如何在 Flutter 中更新 Json 文件?
- python - 按 dtype 和列名选择 Pandas 列
- java - 如何从任何片段返回主要活动?
- python - 迭代列表项时出现索引超出范围错误
- javascript - laravel Pluck() 返回单行而不是集合