我一直在学习Angular2很短的时间,一切都很好。我最近尝试使用Ionic 2和Angular 2,但似乎无法使用我在我的文件中制作的自定义组件。我确定这是一个简单的错误,我想知道是否有人能告诉我我做错了什么。
我有一个带有'contact-form'选择器的基本@Component,除了在templateURL html文件中创建一个表单外什么都不做。
在我希望使用此组件的文件中,我从./path ...
导入组件 然后我添加指令:[我创建的组件]此时我收到错误:
如果组件是角度组件,请验证它是此模块的一部分
如果组件是Web组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到此组件的@ ngModule.schemas。
使用快速启动应用程序时,我从未遇到过这个问题,只是在离线内。
答案 0 :(得分:1)
您的设置不再有效。在Angular 2的早期版本中,您将导入要在主机组件模板中使用的类,并将它们列在主机组件的Directives
数组中。
现在设置非常不同。请另外look at the quickstart。
您要做的是在将使用它的模块的declarations
数组中列出该指令:
@NgModule({
imports: [ BrowserModule ],
declarations: [ AppComponent, CustomDirective ],
bootstrap: [ AppComponent ]
})
一旦指令(或组件)被声明为属于(或导入)NgModule
,Angular就会知道在模板中查找它。因此,您可以开始使用自定义指令/组件,而无需将其导入主机组件。