Угловое значение передачи в index.html - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь передать значение в index.html, который вызывает app.componenet.Я пытаюсь обработать строку запроса, которая передается в моем корневом компоненте, прежде чем я сделаю перенаправление

LINK Goal

http://localhost:4200/index/1

HtML

  <app-root></app-root>

APP.Component

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
  providers: [AppComponentService]
})

export class AppComponent {
 constructor(elm: ElementRef,private _service: AppComponentService, private _rout: ActivatedRoute) {

        this._rout.params.subscribe(params => {

            console.log('id' + params['id']);//value is undefined


        });
}

Маршруты приложений

{ path: '', redirectTo: '/dashboard', pathMatch: 'full' },

*****************************ОБНОВИТЬ**********************************************************************

Моя проблема должна возникать из-за проблем .. пожалуйста, имейте в виду, что я пытаюсь нажать на app.comonent, чтобы выполнить некоторую логику, прежде чем перенаправить на панель управления

I change my rout to

const routes: Routes = [
    { path: '', component: AppComponent }
];

@NgModule({
    imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })],
    exports: [RouterModule]
})

export class AppRoutingModule { }

app.component

constructor(elm: ElementRef,private _service: AppComponentService, private _rout: ActivatedRoute) {

        this._rout.params.subscribe(params => {

            console.log('id' + params['id']);//value is undefined
             //some logic then will redirect to dashboard

        });

1 Ответ

0 голосов
/ 28 марта 2019

Вот как вы можете получить параметры в app.component.ts на основе URL.

т.е., http://localhost:4200/index/1

 export class AppComponent {
      constructor(private router: Router) {
        this.router.events.subscribe( (event: RouterEvent) => {
          if(event.url.startsWith('/index/')){
            console.log("id is %s", event.id);
            this.router.navigate(['/']);
          }

        });
      }

    }

Если вы хотите загрузить статические глобальные переменные, вы можете передать объект данных маршрута

например:

{ path: '', redirectTo: '/dashboard', pathMatch: 'full', data : {'one':'1', 'two': '2'} },

Тогда вы можете получить объект данных, как показано ниже

export class AppComponent {

       constructor(private router: Router) {
           this.router.events.subscribe( (event: RouterEvent) => {
             console.log(event['snapshot'].data)      
           });
       }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...