从SharedModule FormModule导入到通过SharedModule Angular 2导出的模块

时间:2016-10-07 10:18:38

标签: angular typescript

我有一些使用SharedModule导出到整个App的AutocompleteModule。在SharedModule中,我已将FormsModule导出到整个App。

但是当我尝试在AutocompleteModule中使用ngModel时,我收到了关于ngModel的错误。当我将FormsModule导入AutocompelteModule时,它也能正常工作。

但是我在SharedModule中导出了FormsModule。所以原因问题。我可以将SharedModule导入AutocompleteModule以接收对FormsModule的访问权限吗? (但我在文档中看到做这个循环是个坏主意。)

所以问题是:我应该将FormsModule导入AutocompelteModule aso还是存在一些更好的做法? 谢谢!

1 个答案:

答案 0 :(得分:2)

AutocompleteModule需要自己FormsModule导入。您可能认为将SharedModule导入AutocompleteModule会有所帮助,但它不会因为您获得循环依赖而导致失败。

最佳选择是直接导入FormsModule

@NgModule({
  imports: [ FormsModule ]
})
class AutocompleteModule {}
  

在SharedModule中,我已将FormsModule导出到整个App

它没有那样的工作。对组件,管道和指令的访问不会被继承。它们需要以某种方式导入到使用它们的模块中。