让 Angular Material 在 Angular 库中工作

2024-03-31

我正在尝试让 Angular 材质在 Angular 库中工作。

这些是我已采取的步骤:

  1. 创建项目
ng new test-project
  1. 添加角度材质
ng add @angular/material
  1. 创建库

ng g library test-lib

  1. 将对角度材料的引用添加到 test-lib package.json 文件中的对等依赖项
  "peerDependencies": {
    "@angular/common": "^7.2.0",
    "@angular/core": "^7.2.0",
    "@angular/material": "^7.3.7"
  }
  1. 在 test-lib-component 中添加 Angular Material CheckBox 的 html
@Component({
  selector: 'test-lib',
  template: `
    <p>
      test!
    </p>
    <mat-checkbox>my checkbox</mat-checkbox>
  `,
  styles: []
})
  1. 建库

ng build test-lib --watch

  1. 在应用程序 app.module 中添加对 test-lib 中组件的引用
import { TestLibComponent } from 'test-lib'
@NgModule({
  declarations: [
    AppComponent,
    TestLibComponent
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
  1. 在库项目中的 test-lib.module 中,我添加了对 Angular Material CheckBox 模块的引用
import { NgModule } from '@angular/core';
import { ControlLibraryComponent } from './control-library.component';
import { MatCheckboxModule } from '@angular/material/checkbox';

@NgModule({
  declarations: [TestLibComponent],
  imports: [
    MatCheckboxModule
  ],
  exports: [TestLibComponent]
})
export class TestLibModule { }
  1. 最后,在主应用程序 app.component.html 文件中,我使用正确的选择器添加了库的 html

<test-lib></test-lib>

我现在运行该应用程序,收到以下错误:

“mat-checkbox”不是已知元素: 1. 如果“mat-checkbox”是 Angular 组件,则验证它是否是该模块的一部分。

这显然是缺少引用时的标准消息,但当我添加它们时,我想知道我还需要在库中做什么才能使其正常工作?

Thanks


本地编码后更新答案:

我尝试了您在问题中提到的所有步骤,并且可以运行该应用程序而不会出现任何错误。但是,我需要更新您的一些代码,如下所示:

1. 应用程序模块

import { TestLibModule } from 'test-lib';    // <-- this

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    TestLibModule    // <-- this
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

2.确认选择器名称

<lib-test-lib></lib-test-lib>

3. 测试库.module

无需更改

4. 截图<mat-checkbox>my checkbox</mat-checkbox>

5. 截图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让 Angular Material 在 Angular 库中工作 的相关文章

随机推荐

  • java.lang.NoClassDefFoundError: org.joda.time.DateTime

    在 android 4 3 API 18 上启动应用程序时出现此错误 没有编译错误 并且库已添加到build gradle中 compile joda time joda time 2 9 2 在 android api 23 上工作没有问
  • Neo4j cpu 卡在 GC 上

    突然间 工作了一个月后 CPU 几乎没有使用 1 到 5 之间 neo4j 服务器在垃圾收集时 cpu 占用率达到 100 我在 ubuntu 4 处理器服务器上运行 neo4j entherprise 2 0 3 未嵌入 这是我的 neo
  • 将 XSD 导入 OpenAPI

    我的 XSD 文件中有一些模型定义 我需要从 OpenApi 定义中引用这些模型 由于文件太大 手动重新建模是不可能的 我需要将其放入构建系统中 这样如果 XSD 发生更改 我可以为 OpenApi 重新生成模型 架构 我尝试过并且几乎有效
  • Flutter - 每次关闭应用程序时存储对象列表的最佳方式?

    情况 我对 Flutter 和移动开发都很陌生 因此对 Dart 不太了解 我已经从有类似问题的人那里阅读了一些解决方案 但没有设法将这些解决方案应用于我自己的事情 问题 我有一个待办事项应用程序 它有 2 个对象列表 我想在用户重新打开应
  • 在 Eclipse/RCP 中定位工具栏

    我正在开发我的小型 RCP 应用程序 它需要一个自定义透视切换器来控制用户可以访问哪些视图 所以我在这里尝试添加一个带有几个按钮的工具栏来切换视角 我认为对这些内容进行一些控制的最佳方法是在 Application ActionBar Ad
  • 如何尽快有效地发出数千个网络请求

    我需要从 C 控制台应用程序发出 100 000 个轻量级 即小内容长度 Web 请求 我可以做到这一点的最快方法是什么 即在尽可能短的时间内完成所有请求 以及我应该遵循哪些最佳实践 我不能一劳永逸 因为我需要捕获响应 大概我想用async
  • MongoDB:匹配嵌套数组元素的计数

    我有一个简单的父子对象作为文档存储在 MongoDB 中 像 Order OrderItems 这样简单的东西 订单有一个 OrderItem 数组 我想要做的是查询满足一组条件的订单项目的数量 示例 在订单 999 中 找出数量为 3 的
  • PostgreSQL 立即选择值并递增

    我正在寻找以下可能的解决方案 我将数据存储在表中 以跟踪客户在数据库中想要的特殊增量编号 这是他们内部使用的特殊号码 我想要做的是当我选择它时自动增加表中的这个数字 因此 我不存在使用该系统的其他人使用相同 ID 号进行另一笔交易的问题 所
  • 使用内容重命名 PDF 文件的批处理脚本

    我有一个批处理脚本 用于提取 PDF 信息并重命名 PDF 该脚本对于 1 个 PDF 文件运行良好 但我需要直接在folder有很多 PDF 文件 那么该怎么做呢 该脚本需要针对每个 PDF 文件逐个运行 直至结束 一旦 PDF 文件被重
  • UWP,如何处理图像和缩放?

    我们有一个 Xamarin Forms 项目 它将在 Android iOS 和 UWP 上运行 在 Android 上 不同的文件夹中有许多不同的图像 以支持大量不同的屏幕 和 PPI 在 iOS 上 您有类似的系统 2x 3x 等 我一
  • Android 相机教程(使用 SurfaceView)

    这是我的示例代码 package newslab video server import android app Activity import android hardware Camera import android os Bundl
  • MUI:将分页移动到 DataGrid 的顶部?

    有谁知道我如何移动标准XGrid分页到表格上方 或者我是否必须创建自己的自定义分页而不使用内置的XGrid 没有公共 API 可以将分页组件放在顶部 但您可以使用以下 CSS 技巧 const useStyles makeStyles gr
  • 如何生成混淆矩阵并找出朴素贝叶斯分类器的误分类率?

    使用 R 中的虹膜数据集 我尝试将朴素贝叶斯分类器拟合到虹膜训练数据 以便我可以为朴素贝叶斯分类器生成训练数据集 预测与实际 的混淆矩阵 错误分类率是多少朴素贝叶斯分类器 到目前为止 这是我的代码 iris spl sample split
  • 何时在 Webpack 2 module.rules 中使用“use”和“loader”?

    我正在将当前项目升级到Webpack2 它正在使用Webpack1事先的 我研究了一些有关升级的教程 总的来说 我确实理解 不过 我一直遇到的问题是 我不确定在指定模块规则 加载程序 时何时使用 use 和 loader 起初我以为use被
  • Memcache 统计信息未使用 Rails.cache.stats 输出...Rails/Heroku

    晚上好 我正在尝试对 Heroku 上的 Rails 应用程序的缓存进行一些测试 但 Memcachier 似乎运行得不太好 我可以毫无问题地从缓存中提取值 但统计数据并没有给我任何爱 gt 42 Quotes 2012 04 16 irb
  • Qt3D动态纹理

    我正在开发包含 Qt3D 视图的软件 这个 3D 视图使我们能够可视化元素 对象的所有渲染部分都是使用自定义材质 着色器在 QML 中完成的 我能够创建一种将纹理传递到着色器以进行纹理化的材质 保存纹理的QML对象是Texture2D 它的
  • C# Unity 错误:无法加载文件或程序集

    我在 Unity 上找到了这篇演示文章 看起来很简单 但我收到以下错误 无法加载文件或程序集 System Runtime CompilerServices Unsafe 版本 4 0 4 1 Culture neutral PublicK
  • 在SQL中计算一个人的年龄[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 T SQL 中用年 月 日计算年龄 https stackoverflow com questions 57599 how to calculate age in t sql with yea
  • 使用 Bluebird 将 Node.js 回调包装在 Promises 中

    如何在 Bluebird 中使用 Promise 包装 Node js 回调 这是我想到的 但想知道是否有更好的方法 return new Promise function onFulfilled onRejected nodeCall f
  • 让 Angular Material 在 Angular 库中工作

    我正在尝试让 Angular 材质在 Angular 库中工作 这些是我已采取的步骤 创建项目 ng new test project 添加角度材质 ng add angular material 创建库 ng g library test