Issue 1:
[ ] bug report
[x] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question

Current behavior

Currently I have to import my components for declarations in bootstrap and in my router config.

Expected/desired behavior

I should only have to import my declarations in my router config, The module should take care of adding the declarations.

Reproduction of the problem

If the current behavior is a bug or you can illustrate your feature request better with an example, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

What is the expected behavior?

What is the motivation / use case for changing the behavior?

Extra work that was not needed before.

Please tell us about your environment:

Angular version: 2.0.0-rc.5

Browser: [all]

Language: [all]

Issue 2:
I'm submitting a ... (check one with "x")

[ ] bug report
[x] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question

Current behavior

Before NgModules I only had to import my routes in the routes config:

import {DashboardComponent} from "./dashboard/dashboard.component";
import {SettingsComponent} from "./settings/settings.component";
import {AboutComponent} from "./about/about.component";
import {LoginComponent,LoginGuard,UserResolver} from "./login/index";
import {NotFoundComponent} from "./not-found/not-found.component";
import {TasksComponent} from './tasks/tasks.component';

export const APP_ROUTES: Routes = [
{path: '', component: DashboardComponent},
{path: 'settings', component: SettingsComponent},
{path: 'about', component: AboutComponent}
];

after upgrading to NgModule I need to import this whole list once again in my bootstrap-file / MainModule:

import {DashboardComponent} from "./dashboard/dashboard.component";
import {SettingsComponent} from "./settings/settings.component";
import {AboutComponent} from "./about/about.component";
import {LoginComponent,LoginGuard,UserResolver} from "./login/index";
import {NotFoundComponent} from "./not-found/not-found.component";
import {TasksComponent} from './tasks/tasks.component';

@NgModule({
imports: [BrowserModule, FormsModule, RouterModule.forRoot(APP_ROUTES)],
entryComponents: [AppComponent],
declarations: [DashboardComponent, SettingsComponent, AboutComponent, LoginComponent, NotFoundComponent, TasksComponent ],
bootstrap: [AppComponent]
})
class MainModule {
}

This is quite a lot of copy paste...

Expected/desired behavior

I would assume, that when I pass the routing-config to the RouterModule, it should be possible for Angular to add the Routing-Components (like DashboardComponent) automatically to the module.

Whereas for other Directives the NgModule-approach means less work, for Routing-Components it currently means more work than before. So it would be cool to reduce the need of copy-pasting here.

Please tell us about your environment:

Angular version: 8efbcc9

Browser: [all ]

Language: [all]