Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 如何在json对象中使用计算 fetchData(){ 获取(“api_url”)。然后((响应)=>{ this.dataArr=response.data; }); },_Vue.js_Vuejs2 - Fatal编程技术网

Vue.js 如何在json对象中使用计算 fetchData(){ 获取(“api_url”)。然后((响应)=>{ this.dataArr=response.data; }); },

Vue.js 如何在json对象中使用计算 fetchData(){ 获取(“api_url”)。然后((响应)=>{ this.dataArr=response.data; }); },,vue.js,vuejs2,Vue.js,Vuejs2,我不能做this.dataArr=response.data.items.fruits因为我需要在其他地方像这样使用它 dataArr如下所示: { “项目”:{ “水果”:[ { “名称”:“香蕉”, “类型”:“水果”, }, { “名称”:“猕猴桃”, “类型”:“水果”, }, ] } 我正在尝试在计算属性中筛选此项: filterData(){ 返回此.dataArr.filter((item)=>item.name) } 但是我得到一个错误,说this.dataArr不是一个函数

我不能做
this.dataArr=response.data.items.fruits因为我需要在其他地方像这样使用它

dataArr
如下所示:

{
“项目”:{
“水果”:[
{
“名称”:“香蕉”,
“类型”:“水果”,
},
{
“名称”:“猕猴桃”,
“类型”:“水果”,
},
]
}
我正在尝试在计算属性中筛选此项:

filterData(){
返回此.dataArr.filter((item)=>item.name)
}

但是我得到一个错误,说
this.dataArr
不是一个函数,我需要访问
this.dataArr.items.fruits
,但是当我这样写它时,它不起作用。有办法解决这个问题吗?

你应该访问嵌套的
fruits
数组,似乎你正试图通过重新映射这个数组在这种情况下,仅旋转名称使用
map
方法:

 filterData(){
     if(this.dataArr.items && this.dataArr.items.fruits){
      return this.dataArr.items.fruits.map((item) => item.name )
      }else{
        return []
     }
    }

您确定得到的是“this.dataArr不是函数”吗?使用
.filter()没有意义
this.dataArr
会抛出该错误-是一个数组原型函数。不是那样工作的。即使我尝试计算
返回这个.dataArr.items
然后在html中使用该计算结果执行v-for,它也不会显示anything@Stackerss你有错误吗?是的,但我认为问题是因为我使用了nuxt.js。你能shar吗这是错误吗?