Angular2: ¿Cómo actualizar componentes dependientes de resolución?

Tengo tres componentes, cada uno tiene su propio resolutor que obtiene datos de una API diferente. Para hacerlo, estos componentes se basan en una url, que se comparte entre ellos mediante un servicio.

Quiero que cuando ocurra un cambio en esa URL, cada componente se vuelva a cargar, es decir, para reiniciar los resolvers.

Eché un vistazo a varias preguntas de S.O relacionadas, pero ninguna menciona cómo hacerlo cuando se usan resolvers, cf:Pregunta 1,Pregunta 2,Pregunta 3

Se me ocurren dos maneras:

La manera sucia: fuerce la actualización del componente utilizando una redirección de enrutador y un componente en blanco.

this.router.navigateByUrl('blank',true);
this.router.navigateByUrl('home/(mapps:mobil//sw:simil//sf:sales)');

Pero eso no funcionó. Hay una actualización, pero los solucionadores no están ... resueltos.

La otra forma: use un BehaviorSubject o un ChangeDetectorRef. Pero entonces, no tengo idea de cómo lograrlo, teniendo en cuenta que detectar cambios dentro de mis componentes no me ayudará a reiniciar los resolvers.

Mi sensación es que esto debe hacerse a través del enrutador de alguna manera, porque es el que sabe sobre los resolutores:

const routes: Routes = [
  {
    path: '',
    redirectTo: 'home',
    pathMatch: 'full'
  },
  {
    path: 'home',
    component: HomeComponent,
    children : [
      {
        path: '',
        component: BlankComponent
      },
      {
        path: 'simil',
        component: SwComponent,
        outlet: 'sw',
        resolve: {
          data: SwResolve
        }
      },
      {
        path: 'sales',
        component: SalesComponent,
        outlet: 'sf',
        resolve: {
          data: SalesResolve
        }
      }
    ]
  },
  {
    path: 'blank',
    component: BlankComponent
  }
];

¿Alguna pista sobre cómo lograr esto?

Editar: Aquí está elplunkr relacionado

Editar 17 de junio: ya no hay necesidad de la solución alternativa del componente en blanco. Para actualizar componentes, simplemente devuelva la llamada a la ruta:

this.router.navigateByUrl('home/(mapps:mobil//sw:simil//sf:sales)')

Respuestas a la pregunta(2)

Su respuesta a la pregunta