Угловая маршрутизация с параметром - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь реализовать кнопку редактирования, где она должна перейти на страницу, предназначенную для редактирования. Я знаю, что должны использоваться параметризованные маршруты, но я не уверен, как именно это должно быть реализовано в отношении этого кода? Может, кто-нибудь придет с предложением или ссылками на учебники, которые помогут решить мою проблему, а также я хочу узнать более подробно о маршрутизации в Angular позже. Я прочитал документацию Angular по маршрутизации, но она мне не сильно помогла.

export interface FileModel {
  Id?: Array<string>;
  dbList?: Array<string>;
  name?: string;
}

export interface File {
  fileId?: number;
  name?: string;
  dbList?: string;
}

public editFile: FileModel  = {};

      edit(file: File){
         this.editFile.dbList = file.dbList.split(',');
         this.editFile.name = file.name;

         // navigate and send

      }

1 Ответ

1 голос
/ 30 апреля 2019

Сначала вам нужно вставить Router в конструктор:

constructor(private router: Router) {}

Затем в вашем коде, по которому вы хотите перейти, сделайте что-то вроде этого:

this.router.navigate([`/navigateUrlPart/${file.id}`]);

Иконечно, вы должны создать маршрут в вашем AppRoutingModule, чтобы он работал вместе

const routes: Routes = [
    ...
    { navigateUrlPart/:id', component: YourEditComponent },
];

@NgModule({
    imports: [RouterModule.forRoot(routes})],
    exports: [RouterModule]
})
export class AppRoutingModule { }

А в YourEditComponent вы можете прочитать отредактированный id из параметров маршрута, используя класс ActivatedRoute

...