3

我刚刚更新Angular 4并得知它不再支持deep imports.

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

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

而且由于这不起作用,

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

我们应该做什么来访问它?或者之前使用deep import?

4

2 回答 2

0

Angular 4 不再支持深度导入。在Angular 2 你可以做到这一点,

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

但现在在Angular 4 你只能去第一层,

import { VALID } from '@angular/forms' 

所以基本上你通过深度导入访问的任何东西如果不被导出就不再可用,这将使它可用,这样你就可以从第一级访问它。

所以在我的情况下VALID 是无法到达的。所以为了验证我只是用字符串响应来验证它,它来自检查模糊输入字段的验证而不是布尔值。

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

这就提出了一个新问题,

就我而言,这是一个简单的解决方法。但是如果情况更复杂,并且深度导入助手很关键,我们如何解决这个问题?

我在这里询问了 Angular 的 git 贡献者,他们说,

在此处输入图像描述

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

于 2017-03-29T15:04:58.043 回答
-1

对于 ppl 有同样的问题,可以参考:https ://github.com/angular/angular/issues/15542#issuecomment-289671010

于 2017-03-29T14:56:41.660 回答