Angular 2指令错误

标签 angular angular2-directives angular2-components

我使用的是 Angular 2 的最终发布版本。我已经设置了官方网站中提到的启动文件 angular 2 quickstart .在我的 app.component.ts 文件中,我制作了 2 个组件。代码如下所示:-

    import { Component, OnInit} from '@angular/core';

@Component({
    selector: 'demo',
    template:`
        <h2>Hi, demo !!</h2>
    `
})

export class DemoComponent implements OnInit{
    constructor(){}

    ngOnInit(){

    }
}

@Component({
  selector: 'my-app',
  template: `<h1>My First Angular 2 App</h1> 
    <demo></demo>
    `

})
export class AppComponent implements OnInit{ 
    constructor(){}
    ngOnInit(){

    }
}

my-app 的组件中,我使用了指令选择器,它是一个数组。但是编辑器(VS Code)显示错误。 chrome 的控制台抛出错误,告诉 模板解析错误: “演示”不是已知元素: Chrome console

请帮我解决这个问题。谢谢

这是我的app.module.ts 文件

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent }   from './app.component';

@NgModule({
  imports: [BrowserModule],
  declarations: [AppComponent, DemoComponent],
  bootstrap: [AppComponent]
})
export class AppModule { }

最佳答案

您必须在 declarations 中定义您的组件模块的属性。

app.module.ts

import { AppComponent, DemoComponent  }   from './app.component';

@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ AppComponent, DemoComponent ], <== here
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

并将其从 directives 中删除AppComponent的属性(property).它已被弃用。

app.component.ts <罢工>

<罢工>
 directives: [DemoComponent] ,

<罢工>

关于Angular 2指令错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39683376/

相关文章:

javascript - angular 4减少html内容

angular - 由于 ngIf,保持隐藏组件的引用

angular - 获取对组件中使用的指令的引用

Angular 2 全局组件

Angular 仅适用于特定路线

angular - HostListener onBlur 和 onFocus 没有在 angular4 中被触发

angular - 何时在指令 @Inputs 中使用方括号 [ ] 何时不用?

Angular 2 Header组件标题根据状态动态变化

angular - ngIf 与 viewchild

javascript - Angular:EventEmitter 的事件未通过 .subscribe 成功接收