Обычно я использую состояние ui-router
с параметром id
следующим образом:
/* route /news/{news_id} */
http://servername/#/news/14
но уже я хочу использовать alias string
вместо id
:
/* route /news/{news_title} */
http://servername/#/news/braking-news-of-usa
Как сопоставить news_title
с news_id
в угловом или ui-router?
Я не думаю, что это характерно для Angular, но вы можете рассмотреть следующие подходы.
Наряду с заголовком добавьте идентификатор новостей с некоторым разделителем. например, break_news_of_usa_14. Когда кто-то нажимает на эту ссылку, в Javascript разделяется заголовок новости и извлекается идентификатор для запроса API сервера.
Убедитесь, что у вас есть уникальные заголовки для новостей (накладные расходы на API-интерфейсах серверов, например уникальный индекс, хэши и т.д.), И вместо запроса с идентификатором новостей запросите использование заголовка новости, чтобы получить подробную информацию.
Поддерживайте как идентификатор новостей, так и название новости, как это /{news_title/{news_id}. Благодаря этому вы сохраняете накладные расходы на введение уникальных названий. (Ссылка, проверьте формат URL-адреса stackoverflow для деталей вопроса.)