Vue CLI - 类型错误:无法读取未定义的属性(读取“1”)
P粉068174996
P粉068174996 2024-03-25 22:30:03
[Vue.js讨论组]

我是 VueJS 的初学者,希望得到您的帮助。

我正在尝试基于 OpenWeatherMap API 创建天气预报应用程序。

这个概念是这样的:

  1. 在主页上输入某个位置并点击搜索按钮。 (在我的代码中,它是一个组件 Search.vue
  2. 重定向到另一个页面并显示结果 - 当前天气和未来 6 天的天气预报。 (组件Weather.vue

我创建了具有两个一致的提取调用的函数。首先获取输入的输入 query 并从 Current Weather Data API 返回所需的数据。之后,函数运行第二次获取到 One 根据第一次获取的 latitude longitude 调用 API

一切正常并且显示良好,但我不明白为什么我有一个错误 Uncaught (in Promise) TypeError: Cannot readproperties of undefined (reading '1') in console:

有人知道如何修复此错误吗?

我的Search.vue(主页)组件:

我的Weather.vue(天气结果显示页面)组件:


我的 router/index.js 文件:

import { createRouter, createWebHashHistory } from 'vue-router'
import Search from '../components/Search.vue'
import Weather from '../components/Weather.vue'

const routes = [
  {
    path: '/',
    name: 'Search',
    component: Search
  },
  {
    path: '/detailed-weather',
    name: 'DetailedWeather',
    component: Weather,
    props: true
  }
]

const router = createRouter({
  history: createWebHashHistory(),
  routes
})

export default router

P粉068174996
P粉068174996

全部回复(1)
P粉211273535

根据我的猜测(给出代码和错误),您从 API 接收的对象可能存在问题。

错误消息表明您正在尝试从数组中未定义的特定索引处读取某些内容。

代码中唯一可能导致此错误的情况是来自您正在阅读的模板,例如:

{{ forecast.daily[day].dt }}
{{ Math.round(forecast.daily[day].temp.day) }}

我无法准确分辨出它是哪一个,但请尝试仔细检查您正在使用的对象的形状。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号