Ember Super Rentals教程3.15-处理数据

问题描述 投票:1回答:1

我遵循了ember Super Rental 3.15教程,当我进入“处理数据”部分时,我使用模型挂钩更新了路径索引文件,该页面停止了工作。我还发现余烬教程不完整。

错误说地图属性未定义路由index.js文件中的代码:

import Route from '@ember/routing/route';

const COMMUNITY_CATEGORIES = [
  'Condo',
  'Townhouse',
  'Apartment'
];

export default class IndexRoute extends Route {
  async model() {
    let response = await fetch('/api/rentals.json');
    let { data } = await response.json();

    return data.map(model => {
      let { attributes } = model;
      let type;

      if (COMMUNITY_CATEGORIES.includes(attributes.category)) {
        type = 'Community';
      } else {
        type = 'Standalone';
      }

      return { type, ...attributes };
    });
  }
}

图像,如果错误消息:enter image description here

ember.js ember-data ember-router
1个回答
0
投票

您的问题是fetch('/api/rentals.json');没有返回正确的数据。因此,当您执行let { data } = await response.json();时,data将为undefined,而您无法执行undefined.map

所以您发布的代码是正确。问题出在别的地方。您可以检查:

  • 您是否正确添加了rentals.json文件?如果您打开http://localhost:4200/api/rentals.json,您会看到数据吗?那你完成了this吗?
  • 我从mirage中看到一些错误。 super-rentals教程not不使用mirage。我可以看到此here(旁注:git repo是根据指南自动created,因此它始终是最新的)。所以这可能是您的问题。根据如何配置Mirage,它将基本上模拟all您的ajax请求。这意味着fetch(...将不再正常工作,而Mirage则假定您始终想使用模拟数据,并且未正确配置Mirage。您可以尝试从package.json中删除幻影,重新运行npm install,重新启动ember server,然后重试。
© www.soinside.com 2019 - 2024. All rights reserved.