在角2使用分量,说我有一个使用部件的路由:角2:从模块路由
{ path: 'new-project', component: BasicForm },
现在,这个作品,如果我输入直接组件:
import { BasicForm } from './foo/basicForm.component';
但我应该如何去导入模块来代替:
import { BasicForm } from './foo/basicForm.module';
这并不因为BasicForm
工作,我没有在模块文件中定义,而是组件文件。
这样组件就可以加载模块的所有导入和声明了吗?
继@HristoKolev建议,我已将此添加到模块:
export { BasicForm } from './basicForm.component';
并允许该航线从模块看到BasicForm组件。
但是,BasicForm组件似乎没有看到来自NgModule的Imports。特别是,BasicForm没有访问由组件模块定义的FormsModule:
import { FormsModule } from '@angular/forms';
...
@NgModule({
imports: [CommonModule, FormsModule],
declarations: [BasicForm]
})
但在BasicForm模板,错误的是:
Can't bind to 'ngModel' since it isn't a known property of 'input
模板线会导致错误:
<input type="text" class="form-control" id="directory" placeholder="foo" [(ngModel)]="project.directory">
所以angular在解析这个模板的时候并没有从FormsModule中找到ngModel指令。
'NgModule'也有一个“出口”财产而你可以尝试使用它,但我不知道,如果你可以使用它,你想要的方式。 – spongessuck
@spongessuck你的代表目前是666 ...不知道我应该相信你的建议:) – mtyson
你可以用upvote修复...;) – spongessuck