angular - 如何处理在 Angular 4 中丢失深度导入

标签 angular

我刚刚更新到 Angular 4 并了解到它不再支持 深度导入

所以我使用 VALID 来帮助验证表单。但是现在我无法使用 deep import

导入它
import { VALID } from '@angular/forms/src/model 

因为这行不通,

import { VALID } from '@angular/forms/'

我们需要做什么才能访问它?或者之前通过深度导入访问过的任何东西?

最佳答案

Angular 4 不再支持深度导入。在 Angular 2 中,您可以这样做,

import { VALID } from '@angular/forms/src/model'  

但现在在 Angular 4 中你只能进入第一层,

import { VALID } from '@angular/forms' 

所以基本上,如果不导出,您通过深度导入访问的任何内容都将不再可用,这将使它可用,因此您可以从第一级访问它。

所以在我的情况下 VALID 无法访问。因此,为了验证,我只是使用字符串响应来验证它,该字符串响应来自检查输入字段的验证,而不是 bool。

formInputValidate(inputField: string, ErrorTitle: string, ErrorMessage: string) {
  if (this.profileForm.get(inputField).status === 'VALID') {
    this.toastSuccess(inputField, ' entered correctly');
  } else {
    this.toastWarning(ErrorTitle, ErrorMessage);
  }
}

这提出了一个新问题,

在我的例子中,这是一个简单的修复。但是如果情况更复杂并且深度导入助手很关键,我们如何解决这个问题?

I asked the contributors of Angular on git here and they said,

enter image description here

所以看来,如果有需要的人,我们可以提出要求,他们会考虑的!

关于angular - 如何处理在 Angular 4 中丢失深度导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43060615/

相关文章:

Angular4 应用程序在 IE11 中运行问题

Angular刷新页面重复url中的页面

css - 如何关闭隐藏的 Angular Material 类的 flex 布局

javascript - 使用 Angular 将 HTTP 数组值从服务导入到组件中

angular - 在 Angular 教程中获取 Cannot find name 'HEROES' 错误

angular - 使用 Angular 11 自定义页面权限

javascript - 为什么在 Angular 2 中导入服务时需要 () ?

javascript - 如何将文件附加到formdata angular 2

Angular2如何使用默认值设置单选按钮

javascript - 如何使用鼠标进入和鼠标退出或悬停