【问题标题】:Cannot read property 'id' of null ember无法读取 null ember 的属性“id”
【发布时间】:2017-04-09 18:50:24
【问题描述】:

我正在尝试使用 Ember 应用程序从 WordPress 应用程序中获取数据。我正在尝试在 WordPress 中获取 ID 为“2”的菜单项。我正在使用 ember-wordpress 插件并且可以成功获取我的帖子,我只是在努力从 API 中获取菜单。

下面是我的菜单模型

import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string'),
  count: DS.attr('number')
});

这是我的路线。

import Ember from 'ember';

export default Ember.Route.extend({

  model() {
    return Ember.RSVP.hash({
      menu: this.store.findRecord('menu', 2)
    });
  }

});

但是,当我尝试点击 URL 时,我的控制台中出现错误

处理路由时出错:无法读取 null 的属性“id” TypeError:无法读取 null 的属性“id”

这是我从终点得到的 JSON。

{
"ID": 2,
"name": "Main Menu",
"slug": "main-menu",
"description": "",
"count": 2,
"items": [
{
"id": 19,
"order": 1,
"parent": 0,
"title": "Projects",
"url": "http://localhost:8888/ember-wp/projects/",
"attr": "",
"target": "",
"classes": "",
"xfn": "",
"description": "",
"object_id": 17,
"object": "page",
"object_slug": "projects",
"type": "post_type",
"type_label": "Page"
},
{
"id": 20,
"order": 2,
"parent": 0,
"title": "Services",
"url": "http://localhost:8888/ember-wp/services/",
"attr": "",
"target": "",
"classes": "",
"xfn": "",
"description": "",
"object_id": 15,
"object": "page",
"object_slug": "services",
"type": "post_type",
"type_label": "Page"
}
],
"meta": {
"links": {
"collection": "http://localhost:8888/ember-wp/wp-json/wp/v2/menus/",
"self": "http://localhost:8888/ember-wp/wp-json/wp/v2/menus/2"
}
}
}

谁能看出我哪里出错了?

【问题讨论】:

    标签: javascript wordpress ember.js ember-data wordpress-rest-api


    【解决方案1】:

    我想您正在使用WP API Menus 插件来提取数据,因为我遇到了同样的问题。您将需要编辑该插件中的一个文件以更正此问题。

    wp-api-menus-v2.php

    1. 在第 108 行,将 $rest_menus[ $i ]['ID'] = $menu['term_id']; 更改为 $rest_menus[ $i ]['id'] = $menu['term_id'];
    2. 在第 143 行,将 $rest_menu['ID'] = abs( $menu['term_id'] ); 更改为 $rest_menu['id'] = abs( $menu['term_id'] );

    将这两个键从大写更改为小写将解决您的问题。

    【讨论】:

      【解决方案2】:

      我不知道您收到的错误,但第一个元素没有“id”字段而是“ID”字段(大写)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多