angular如何创建组件和引入组件

1、创建组件(创建一个headers的组件)

命令: ng g c headers

命令: ng g c /component/headers   (带路径的)

2、appmodule.ts中直接引用(HeadersComponent)这个名字必须是有Component

import { HeadersComponent } from './compontents/headers/headers.component';

3、declarations中注册

declarations: [

HeadersComponent

]

4、在app.component.html中可以使用

<app-headers></app-headers>

 

//注释:如果您的组件用于动态生成的内容,例如弹框的时候展示组件这个时候单单上面的组测是无法展示组件内容的。这个时候会报错提示我们

ERROR Error: No component factory found for CreateGaugeComponent. Did you add it to @NgModule.entryComponents?

我查了文档:解决错误的方法是:在你相应的module.ts中需要在下面注入一下

entryComponents: [

HeadersComponent

]

entryComponents在这里做什么? 组件已经在声明中定义。 那么有什么需要重复呢? 如果我不在这里包含组件,会发生什么?
回答:
Angular使用entryComponents来启用“树震动”,即只编译项目中实际使用的组件,而不是编译所有在ngModule中声明但从未使用的组件

这是用ViewContainerRef.createComponent()添加的动态添加的组件。将它们添加到entryComponents告诉脱机模板编译器编译它们并为它们创建工厂。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值