2016-10-20 78 views
4

我是Angular2的新成员,创建一个基本应用程序。但是当我运行应用程序时会出现一些错误。Angular2未处理Promise拒绝:模板解析错误:

这里是plunker的链接我的工作: https://plnkr.co/edit/vnnVJtA7HJS740tvslEI?p=preview

请给我提供的解决方案,使我可以Angular2.Following开始就是错误:

VM654 zone.js:388 Unhandled Promise rejection: Template parse errors: 
'courses' is not a known element: 
1. If 'courses' is an Angular component, then verify that it is part  
of this module. 
2. If 'courses' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" 
to the '@NgModule.schemas' of this component to suppress this 
message. (" 
<div> 
    <h2>Hello {{name}}</h2> 
    [ERROR ->]<courses></courses> 
    </div>"): [email protected]:6 ; Zone: <root> ; Task: Promise.then ; Value: 
Error: Template parse errors:(…) Error: Template parse errors: 
'courses' is not a known element: 
1. If 'courses' is an Angular component, then verify that it is part 
of this module. 
2. If 'courses' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" 
to the '@NgModule.schemas' of this component to suppress this 
message. (" 
<div> 
    <h2>Hello {{name}}</h2> 
    [ERROR ->]<courses></courses> 
    </div>"): [email protected]:6 
at TemplateParser.parse  
(https://unpkg.com/@angular/compiler/bundles/compiler.umd.js:8446:21) 
at RuntimeCompiler._compileTemplate  
(https://unpkg.com/@angular/compiler/bundles/compiler.umd.js:16824:53 
) 
at eval 
(https://unpkg.com/@angular/compiler/bundles/compiler.umd.js:16746:85 
) 
at Set.forEach (native) 
at compile 


(https://unpkg.com/@angular/compiler/bundles/compiler.umd.js:16746:49 
) 
at ZoneDelegate.invoke 
(https://unpkg.com/[email protected]/dist/zone.js:232:26) 
at Zone.run (https://unpkg.com/[email protected]/dist/zone.js:114:43) 
at https://unpkg.com/[email protected]/dist/zone.js:502:57 
at ZoneDelegate.invokeTask 
(https://unpkg.com/[email protected]/dist/zone.js:265:35) 
at Zone.runTask 
(https://unpkg.com/[email protected]/dist/zone.js:154:47)consoleError @ 
VM654 zone.js:388_loop_1 @ VM654 zone.js:417drainMicroTaskQueue @ 
VM654 zone.js:421ZoneTask.invoke @ VM654 zone.js:339 
VM654 zone.js:390 Error: Uncaught (in promise): Error: Template parse 
errors:(…) 

回答

9

你需要做的两个变化,

1)。除去directives:[CourseComponent]

declarations: [ App,CourseComponent ] //#### added CourseComponent here 

2)改变#let keywork

<li *ngFor="let course of courses"> 

DEMO:https://plnkr.co/edit/U42S7joZT7wMCr1oBF9h?p=preview

+0

thanku这么多..它的工作!!!!!!。但我不明白为什么我们在声明中声明CourseComponent而不是作为指令 –

+0

指令在新版本中被删除。所以它应该用声明元属性来声明。如果它解决了问题,请接受它作为答案。 – micronyks

相关问题