我刚刚更新到 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,
所以看来,如果有需要的人,我们可以提出要求,他们会考虑的!
关于angular - 如何处理在 Angular 4 中丢失深度导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43060615/