加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何修复Angular 2`未捕获(承诺):TypeError:无法读取属性’que

发布时间:2020-12-17 09:16:06 所属栏目:安全 来源:网络整理
导读:我一直在使用Angular 2文档中的英雄教程进行实验.不过,我已经来了一个问题,我不明白这个错误发生了什么: 未捕获(承诺):TypeError:无法在browser_adapter.ts中读取属性“查询”null:88. 这两件涉及到HeroDetailComponent和HeroService. import { Componen
我一直在使用Angular 2文档中的英雄教程进行实验.不过,我已经来了一个问题,我不明白这个错误发生了什么:

未捕获(承诺):TypeError:无法在browser_adapter.ts中读取属性“查询”null:88.

这两件涉及到HeroDetailComponent和HeroService.

import { Component,OnInit } from '@angular/core'; 
import { RouteParams } from '@angular/router-deprecated';

import { Hero,HeroService } from '../index';

@Component({
    selector: 'my-hero-detail',templateUrl: ...
    styleUrls: [...]
})
export class HeroDetailComponent implements OnInit {

    hero: Hero;

    // TEMPORARY FIX:
    _heroService = new HeroService();  // Avoids injection

    // constructor(private _heroService: HeroService,//             private _routeParams: RouteParams) {}

    constructor(private _routeParams: RouteParams) {}

    ngOnInit() {
        let id = +this._routeParams.get('id');
        console.log(id);
    }
}

当我使用这个代码,它的工作.但是当我切换构造函数,并使用与HeroService注入的那个,然后我得到我之前提到的错误.

@Injectable()
export class HeroService {

    getHeroes() {
        return HEROES;
    }

    getHero(id: number) {
        return new Hero(1,'Name','Power','AlterEgo');
    }
}

当我试图弄清楚发生了什么,我删除了所有与承诺相关的代码.但是,我仍然收到同样的错误.一切都是编译好的,这是一个运行时错误. HeroService和RouteParams在父组件中提供.

两个问题:

>如何解决这个问题?
>如何调试这种问题?

我倾向于认为这是角色2中的错误,但我不知道如何确保这不是我的错误.提前致谢.

更新:

>我添加了临时修复代码(避免注入,因此不是解决这个问题的方法,因为我想使注射工作正常).
> This is a Plunker与我正在尝试的代码的大致版本.我无法使其正常运行,但通过查看代码可能有助于诊断问题.

我看到以下问题:HeroComponent取决于HeroDetailsComponent,但是HeroDetailsComponent之后会在app / heroes / index.ts文件中导出.

有人报道这种设置here的问题

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读