如何应对Angular 4中的深度进口损失

时间:2017-03-28 04:24:48

标签: angular4

我刚刚更新到Angular 4并了解到它不再支持deep imports

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

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

由于这不起作用,

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

我们打算如何访问它?或者之前使用deep import访问过的任何事情?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:-1)

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