Передача значения из машинописи в routerlink - PullRequest
0 голосов
/ 27 августа 2018

У меня есть свойство в моем файле для машинописи

subject.component.ts

subject: string; 
this.subject = "angular";

Я хочу передать это на свой маршрутизатор по ссылке в моем HTML-файле

subject.component.html

[routerLink]="[subject,'area']"

app.routes.ts

  path: 'angular',
  component: SubjectComponent,
  children: [
    {
      path: 'area',
      component: AreaComponent,
      data: { subject: 'angular' }
    }
  path: 'angular2',
  component: SubjectComponent,
  children: [
    {
      path: 'area',
      component: AreaComponent,
      data: { subject: 'angular2' }
    }

, но у меня возникли проблемы, поскольку они не решаются.Запрашиваемая страница не возвращается.Я перенаправлен на домашний экран

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

см. Stackblitz демо

сравните этот код и выясните, что вы сделали не так

я добавил в app.component.html is

<router-outlet></router-outlet>

<a [routerLink]="[subject,'area']"> Redirect</a>

in app.component.ts

 import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  subject:string;

  ngOnInit(){
     this.subject = 'test';
  }
}

и app.module.ts

const routes: Routes = [
  { path: 'test/area', component: HelloComponent }
]

@NgModule({
  imports: [BrowserModule, FormsModule, RouterModule.forRoot(routes)],
  declarations: [AppComponent, HelloComponent],
  bootstrap: [AppComponent]
})
export class AppModule { }
0 голосов
/ 27 августа 2018

проблема, с которой я столкнулся, была связана с относительным путем ссылки, к которой я пытался получить доступ. Внесенное мною изменение заключалось в добавлении передней косой черты

subject.component.html

[routerLink] = "[ '/', при условии, 'площадь']"

0 голосов
/ 27 августа 2018

Вы можете установить параметры и фрагмент запроса следующим образом:

// subject = 'sss' ; set in your component otherwise it wont be added.

<a [routerLink]="['/user/bob']" [queryParams]="{sub: subject }" fragment="education"></a>

...