Изменение URL-адреса блога с идентификатора на заголовок (Contentful & Angular5) - PullRequest
0 голосов
/ 16 мая 2018

Я создаю приложение с использованием Contentful и Angular 5. Все работает нормально, однако URL при нажатии на блог использует / blog / id, где мне нужно сказать / blog / title или / blog / urlslug. вот как это выглядит:

http://localhost:4200/blog/Q4YkPptlwAQ0wCIo4oAcI

Маршрутизация была сделана следующим образом:

  getOneBlog(blogID): Promise<Entry<any>>{
    return this.client.getEntries(Object.assign({
      content_type: 'blog'
    }, {'sys.id': blogID}))
    .then(res => res.items[0]);
  }

  goToBlogDetailsPage(blogId) {

    this.router.navigate(['/blog', blogId]);
  }

и:

  {path: 'blog/:id', component: BlogDetailsPageComponent}

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

1 Ответ

0 голосов
/ 16 мая 2018

Вы можете Расположение из @ angular / common , чтобы изменить URL со значением стиля.

Например, в вашем компоненте, после загрузки статьи блога, вы можете добавить заголовокпосле идентификатора, подобного этому:

this._location.go(this.blogTitle);

У вас будет URL-адрес типа http://localhost:4200/blog/Q4YkPptlwAQ0wCIo4oAcI/someBlogTitle.

Вот пример стекового блика для местоположения.

...