我的app.component.ts :
import {Component} from 'angular2/core';
import {CoursesComponent} from './courses.component';
@Component({
selector: 'my-app',
template: '<h1>Hello Angular 2</h1><courses></courses>',
directives: [CoursesComponent]
})
export class AppComponent { }
我的courses.component.ts :
import {component} from 'angular2/core';
@Component({
selector : 'courses',
template : '<h2>Courses</h2>'
})
export class CoursesComponent{
}
尽管所有细节都存在,但我不确定为什么chromebug仍然说“组件未定义”。
错误是:
ReferenceError: Component is not defined
Error loading http://localhost:3000/app/boot.js
at eval (courses.component.ts:3)
at execute (courses.component.ts:7)
at ensureEvaluated (system.src.js:3186)
at ensureEvaluated (system.src.js:3178)
at ensureEvaluated (system.src.js:3178)
at Object.execute (system.src.js:3304)
at doDynamicExecute (system.src.js:703)
at link (system.src.js:905)
at doLink (system.src.js:557)
at updateLinkSetOnLoad (system.src.js:605)
非常感谢任何帮助。
答案 0 :(得分:2)
directives
以来,@Component()
中的{p> 2.0.0 beta.6
已被弃用
请在@NgModule()
中注册
@Component({
...,
directives: [CoursesComponent]
})
您需要将其添加到
@NgModule({
declaration: [CoursesComponent],
...
})
答案 1 :(得分:1)
在courses.component.ts中,您有下一个代码行:
import {component} from 'angular2/core';
它应该是
import {Component} from 'angular2/core';
您正在使用@Component,如果您不导入它,则无法解析。