angular - Angular 库中的组件选择器不是已知元素

标签 angular angular-library

我完全按照这些步骤创建了简单的 Angular 库:

1. ng new pwo-countup-library --create-application=false
2. ng g library countup
3. ng g application countup-test
4. ng build countup

5.将 CountupModule 导入 app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { CountupModule } from 'countup';

@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule, CountupModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { } 
  1. 将库组件选择器添加到 app.component 模板中

@Component({
selector: 'app-root',
template: `
  <lib-countup></lib-countup>
`,
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'countup-test';
}

countup.component 看起来像这样:

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'lib-countup',
  template: `
    <p>
      countup works!
    </p>
  `,
  styles: []
})
export class CountupComponent implements OnInit {

  constructor() { }

  ngOnInit(): void {
  }

}

这里是 countup.module:

import { NgModule } from '@angular/core';
import { CountupComponent } from './countup.component';



@NgModule({
  declarations: [CountupComponent],
  imports: [
  ],
  exports: [CountupComponent]
})
export class CountupModule { }

我在 app.component 模板中遇到错误:

lib-countup is not a known element

有人能帮帮我吗? 这与这个问题完全相同 https://stackoverflow.com/questions/62315080/selector-is-not-a-known-element-angular-9-custom-library[1]但到目前为止还没有人知道这个问题的答案。谢谢!

最佳答案

您正在尝试将组件与不存在的选择器“lib-countup”一起使用。您必须在库中使用此类选择器创建组件并将其添加到库模块的导出数组

@NgModule({
  declarations: [YourComponent], 
  exports: [YourComponent] <--- here
  imports: [],
  providers: []
  })
export class CountupModule{ }

关于angular - Angular 库中的组件选择器不是已知元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62712934/

相关文章:

Angular 6 库作为 npm 包的替代品

angular - @Input 属性在 Angular 2 的 onInit 中未定义

javascript - 服务更新时 Angular 组件未更新

forRoot 方法中的 Angular 调用函数

Angular 2 : Load different versions of the libraries based on the data

angular - Angular 如何处理 Angular 库中的非导入模块?

angular - 在你的 Angular 6 库中包含 "assets"

javascript - 选择全部复选框 Angular Material 5 | Gmail 样式如果选择个人,它也会选择

node.js - 如何在node js中限制对Google云平台上的存储桶的文件的访问

apache - 使用 base href 时请求 url 问题