【问题标题】:Implementing controlValueAccessor in our external Angular library?在我们的外部 Angular 库中实现 controlValueAccessor?
【发布时间】:2019-06-06 14:00:32
【问题描述】:

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

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

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

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

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

你有什么想法或解决办法吗?

【问题讨论】:

    标签: javascript angular npm


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-05
      • 2018-04-28
      • 2018-07-26
      • 2019-07-25
      • 2019-02-11
      • 2018-03-26
      • 2020-08-17
      • 2019-12-02
      相关资源
      最近更新 更多