В угловой 2, что у меня есть маршрут, который использует компонент:Угловое 2: Используйте компонент из модуля в маршрутизации
{ path: 'new-project', component: BasicForm },
Теперь, это работает, если импортировать компонент непосредственно:
import { BasicForm } from './foo/basicForm.component';
Но как я должен идти об импорте модуля вместо:
import { BasicForm } from './foo/basicForm.module';
Это не работает, потому что BasicForm
я s не определен в файле модуля, а файл компонента.
Для того чтобы компонент был загружен всеми импортерами и объявлениями модуля доступны?
После @HristoKolev предложения, я добавил это к модулю:
export { BasicForm } from './basicForm.component';
И что позволяет маршрут, чтобы увидеть компонент BasicForm из модуля.
Однако компонент BasicForm, похоже, не видит импорт из NgModule. В частности, 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">
Так что угловой не находит директиву ngModel из FormsModule при разборе этого шаблона.
'NgModule' также имеет собственность-«экспорта», вы можете попробовать использовать его, но я не уверен, если вы можете использовать его так, как вы хотите. – spongessuck
@spongessuck Вы в настоящее время являетесь представителем 666 ... не уверены, что я должен доверять вашим советам :) – mtyson
Вы можете исправить это с помощью upvote ...;) – spongessuck