Динамически добавлять routerLink к компоненту, созданному динамически через AJAX в Angular 5.

У меня есть компонент, который загружает данные из API. Когда пользователь нажимает Search, контент из API извлекается через AJAX. Этот контент из API находится в формате JSON и имеет внутри идентификатор продукта. Я могу создавать новые HTML-элементы на основе этого контента и помещать их на свой сайт, но я хотел бы, чтобы каждый созданный на лету элемент имел работающий routerLink="/detailsPage/itemID", чтобы после щелчка он направлялся к detailsPage с соответствующим идентификатором. Как это сделать самым простым способом? Я предполагаю, что необходима некоторая перекомпиляция обновления.


person Maciej Dobosz    schedule 11.05.2018    source источник
comment
если вы хотите использовать его как параметр, вы можете сделать что-то вроде этого: [routerLink]=['/detailsPage'] [queryParams]={id: itemId}   -  person yer    schedule 11.05.2018
comment
Вообще routerLink="/detailsPage/itemID у меня работает со статическим контентом. Но с AJAX это не работает.   -  person Maciej Dobosz    schedule 11.05.2018
comment
можете ли вы показать ответ, который вы получаете от вызова API   -  person yer    schedule 11.05.2018
comment
API меня полностью устраивает. Вопрос в том, что я просто что-то упустил или добавление routerLink к элементу, созданному после загрузки страницы, не сработает?   -  person Maciej Dobosz    schedule 11.05.2018


Ответы (1)


Ответ на этот вопрос HTTPClient — Angular предлагает его как более простой способ использования XMLHttpRequest (AJAX) в приложениях Angular, и его использование также гарантирует, что routerLink или любые другие директивы Angular будут работать с объектами, созданными динамически с помощью этого метода. Angular — HTTPClient

person Maciej Dobosz    schedule 23.05.2018