当前位置:  开发笔记 > 编程语言 > 正文

角度2错误:

如何解决《角度2错误:》经验,为你挑选了1个好方法。

玩弄Angular 2并试图让这个简单的代码工作.但我一直收到错误:

EXCEPTION:无法解析Tab的所有参数(未定义).确保它们都具有有效的类型或注释.

到目前为止,ng2没有将c onstructor(tabs:Tabs) {…注入到构造函数中

这是整个代码:

///

import {Component, Input} from 'angular2/core';

@Component({
    selector: 'tab',
    template: `
    
  • {{tab.tabTitle}}
`, }) export class Tab { @Input() tabTitle: string; public active:boolean; constructor(tabs:Tabs) { this.active = false; tabs.addTab(this); } } @Component({ selector: 'tabs', directives: [Tab], template: ` Here's some content. `, }) export class Tabs { tabs: Tab[] = []; selectTab(tab: Tab) { this.tabs.forEach((myTab) => { myTab.active = false; }); tab.active = true; } addTab(tab: Tab) { if (this.tabs.length === 0) { tab.active = true; } this.tabs.push(tab); } }

TX

肖恩



1> Eric Martine..:

那是因为您的Tabs课程是在您的Tab课程和javascript中的课程未被提升之后定义的.

所以你必须用来forwardRef引用一个尚未定义的类.

export class Tab {
    @Input() tabTitle: string;
    public active:boolean;
    constructor(@Inject(forwardRef(() => Tabs)) tabs:Tabs) {
        this.active = false;
        tabs.addTab(this);
    }
}

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有