1
라우터 버전 3.0.0-beta.2에서 각도 2 버전 rc4를 사용하고 있습니다.angular2 라우터에서 선택적 매개 변수를 가져옵니다.
주어진이 URL : http://localhost:8888/#/test;status=07 상태 선택 매개 변수의 값을 얻고 싶습니다.
console.log("status", this._activatedRoute.snapshot.params['status']);
를하지만 이것에 대한 정의되지 않은 가지고 : 내가 아는 한이 코드가 작동합니다.
console.log("urlsegment", this._activatedRoute.snapshot['_urlSegment'].pathsWithParams[0].parameters['status']);
나는 이유를 이해할 수 없다 : 이 코드는 나에게 적절한 가치를 제공하는 것도 재미있다? 내가 뭘 잘못 했니? 두 번째 솔루션은 매우 추악하기 때문에 실제로 사용하고 싶지는 않습니다.
도움이 될 것입니다.
편집 : main.ts :
bootstrap(App, [
APP_ROUTER_PROVIDERS, ..Some other stuff..]).then((appRef) => AppInjector(appRef.injector));
app.routes.ts :
export const routes: RouterConfig = [
{path: 'admin', component: FrontComponent, children: [...FrontRoutes]},
{path: '', component: PublicComponent, children: [ ...PublicRoutes]}
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes)
];
public.routes.ts :
export const PublicRoutes: RouterConfig = [
{path: '', redirectTo: '/dashboard', terminal: true, canActivate:[CanActivateGuard]},
{path: 'test', component: TestRouterComponent, children: [...TestRoutes]},
{path: 'dashboard', component: DashboardRouterComponent, children: [...DashboardRoutes]},
];
test.routes.ts :
export const TestRoutes: RouterConfig = [
{path: '', component: TestComponent, canActivate:[CanActivateGuard]},
{path: 'detail/:id', component: TestDetailComponent, canActivate:[CanActivateGuard]},
];
내가 이동 라우터를 사용하는 방법 :
this._router.navigate(['test', {status:07}]);
게시하시기 바랍니다 경로와 방법이 현재의 경로를 탐색에 추가 편리한 방법입니다. –
'terminal : true '가'pathMatch :'full''로 바뀌 었습니다. –
대신'queryParams'를 읽어야한다고 생각합니다. –