Angular2 rc1, neuer Router und Datenübertragung

Benutzt, um mit veraltetem Router einige Komponenten zu haben, die an dieselbe Komponente weitergeleitet wurden:

Einige Komponente

import {Component, Injector} from 'angular2/core';
import {IDataServiceSome} from './IDataServiceSome';
import {RouteData} from 'angular2/router';

@Component({
    selector: 'Some',
    templateUrl: './Some.html'
})
export class Some {
    Model;
    DataService: IDataServiceVendor;

    constructor(routeData: RouteData, injector: Injector) {
        var dataServiceToken = routeData.get('DataServiceToken');
        this.DataService = injector.get(dataServiceToken);
        this.Model = DataService.getSomeModel();
    }
}

IDataServiceSome

export interface IDataServiceSome {
    getSomeModel(): Object;
}

z.B. Comp1 aber es gibt Comp2, Comp3, etc ...

import {Component} from 'angular2/core';
import {RouteConfigs, Router, ROUTER_DIRECTIVES} from 'angular2/router';

import {DataServiceSome1} from './IDataServiceSome1';

@RouteConfigs([
    { path: '/Some', name: 'Some', component: Some, data: { DataServiceToken: DataServiceSome1 } }])
@Component({
    directives: [ROUTER_DIRECTIVES],
    providers: [DataServiceSome1],
    selector: 'Comp1',
    template:
    `<div>
        <router-outlet></router-outlet>
        <h1>Comp1 routed to Some</h1>
    </div>`
})
export class Comp1{

}

ie Sie vielleicht erraten haben, gibt es viele Datendienste, die @ implementiereIDataServiceSome und viele Komponenten, die zu @ weiterleitSome. Die Wahl, welcher Datendienst verwendet wird, hängt von jeder Komponente ab, die an @ weitergeleitet wirSome -Komponente, die ein Daten-Token verwendet, das @ bekannt iinjector. Mit rc1-Release und neuem Router wird dasRouteData ist veraltet oder wird entfernt, aber wie wird dieses Szenario in Zukunft implementiert?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage