Angular Filevalidation指令声明在两个不同的模块中不起作用
未捕获错误:类型FileValueAccessor是的声明的一部分 模块2:模块化和模块化 将FileValueAccessor移动到导入的更高模块 moduleX和moduleY。您还可以创建一个新的 导出并包含FileValueAccessor的模块,然后导入该模块 moduleX和moduleY中的NgModule 如果我在Angular Filevalidation指令声明在两个不同的模块中不起作用,angular,angular4-forms,Angular,Angular4 Forms,未捕获错误:类型FileValueAccessor是的声明的一部分 模块2:模块化和模块化 将FileValueAccessor移动到导入的更高模块 moduleX和moduleY。您还可以创建一个新的 导出并包含FileValueAccessor的模块,然后导入该模块 moduleX和moduleY中的NgModule 如果我在app.module中声明了FileValueAccessor和这两个模块,那么它正在阅读另一个模板错误 错误DOMEException:未能在上设置“值”属性 “HT
app.module
中声明了FileValueAccessor和这两个模块,那么它正在阅读另一个模板错误
错误DOMEException:未能在上设置“值”属性
“HTMLInputElement”:此输入元素接受文件名,该文件名可能
只能以编程方式设置为空字符串
若我在不同的模块中声明使用文件验证的组件,那个么这就是app.module上的工作
为什么我需要在app.module中声明这些组件?我已经有两个不同的模块使用延迟加载
尝试从两个模块导入导出组件,但它也需要工作:(
要解决此问题,“类型FileValueAccessor”是
“2个模块的声明”
我们需要创建shared/shared.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { FileValueAccessor } from './validation/file-control-value-accessor';
import { FileValidator } from './validation/file-input.validator';
@NgModule({
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
HttpModule
],
exports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
HttpModule,
FileValueAccessor,
FileValidator
],
declarations: [
FileValueAccessor,
FileValidator
],
providers: [
]
})
export class SharedModule { }
并将此shared.module.ts文件导入moduleX和moduleY。这将解决此问题