繁体   English   中英

在我们的外部 Angular 库中实现 controlValueAccessor?

[英]Implementing controlValueAccessor in our external Angular library?

我们已经实现了一个 Angular 组件库,其中包含自定义输入、文本区域、日期选择器等元素,我们希望在单独的应用程序中使用它们。

我们实现了一个通用的 Angular 组件库,以在不同的 Angular 应用程序之间共享我们的 UI 组件(表单元素)。 表单组件在库中正常工作,ControlValueAccessor 可以与 ngModel 一起工作并将正确的值推送到表单。 但是当我们想通过 npm install 在不同的 Angular 应用程序中使用它们(库)时(因为我们已经从这个库创建了一个 npm 包),宿主 Angular 应用程序会给出以下错误消息:

“错误:没有名称的表单控件的值访问器:'组件名称'”

我们仔细检查了一下:我们将此组件复制粘贴到主机应用程序中,我们尝试将它们用作子组件,并且表单组件运行良好。

看起来唯一的问题是使用我们的 Angular 组件库,而宿主 Angular 应用程序无法检测到该库的 ControlValueAccessor 行为。

你有什么想法或解决方案吗?

我知道这个问题已经有 8 个月了,但是您是否使用 npm link 安装了自己的库? 我只是在这里偶然发现了同样的问题,经过大量的调试和头发拉扯后,我发现 Windows 上的 npm 和符号链接似乎已损坏。

在我进行手动安装(在 node_modules 下创建文件夹并将构建文件复制到其中)之后,我的 Angular 库中的所有内容都开箱即用!

所以也许这可以帮助其他人寻找类似的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM