Angular 2 - equivalente ao roteador resolve dados para o novo roteador

Eu estou jogando com Angular 2.0new router e tento usar algo semelhante ao mecanismo de resolução do angular 1.X ui-router / ng-route.

Eu estava tentando conseguir isso usandoRouteData:

import {Component, ViewEncapsulation} from 'angular2/core';
import {
  RouteConfig,
  ROUTER_DIRECTIVES
} from 'angular2/router';
// import {HTTP_PROVIDERS} from 'angular2/http';

import {HomeCmp} from '../home/home';
import {AboutCmp} from '../about/about';
import {NameList} from '../../services/name_list';
import {PersonalizationList} from '../../services/personalization_list';

@Component({
  selector: 'app',
  viewProviders: [NameList, PersonalizationList],
  templateUrl: './components/app/app.html',
  styleUrls: ['./components/app/app.css'],
  encapsulation: ViewEncapsulation.None,
  directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
  { path: '/', component: HomeCmp, as: 'Home', data: this.history },
  { path: '/about', component: AboutCmp, as: 'About' }
])
export class AppCmp {
  history: string[] = [];
  constructor(public list: PersonalizationList) {
    list.get('histoy', (response) => {
      this.history = response;
    });
  }
}

O componente usando isso (home):

import {Component} from 'angular2/core';
import {PersonalizationList} from '../../services/personalization_list';
import {Router, ROUTER_DIRECTIVES, routerBindings, RouteConfig, RouteData} from 'angular2/router';

@Component({
  selector: 'home',
  templateUrl: './components/home/home.html',
  styleUrls: ['./components/home/home.css'],
  directives: [ROUTER_DIRECTIVES]
})
export class HomeCmp {
  constructor(data: RouteData) {
    console.log(data);
  }
}

Os dados registrados no console não são os dados que inicializei do serviço. Se eu inicializá-lo diretamente em@RouteConfig, vai funcionar. Por exemplo:

@RouteConfig([
  { path: '/', component: HomeCmp, as: 'Home', data: [1,2,3,4] },
  { path: '/about', component: AboutCmp, as: 'About' }
])

Então, estou perdendo a parte de passar dados do controlador / componente para@RouteConfig.

Outra pergunta - no Angular 1.X, era uma boa prática passar dados para rotear através da resolução do roteador. Ainda é uma boa prática passar dados para componentes dessa maneira, usando onew router / components router?

Editar A solução pode ser encontradaaqui - usando o@CanActivate evento

questionAnswers(2)

yourAnswerToTheQuestion