Динамический queryParams со ссылкой routerLink в Angular

Я пытаюсь передать параметр моему routerLink в цикле. Вот как выглядит массив объектов: введите здесь описание изображения

Вот петля со ссылкой на routerLink:

<li *ngFor="let Achievement of AllAchievements">

    example from multiple sources
    does not work with a variable 'x'. Outputs the letter x
    <a routerLink="page" [queryParams]="{x : 1}">anchor text</a> 

    example from multiple sources
    link is outputted /%5B'page',%20%7BAchievement.type%20:%20'hello'%7D%20%5D'
    <a routerLink="['page', {Achievement.type : 'hello'} ]">anchor text</a>

    outputs long/encoded string as param value 
    <a [routerLink]="['page']" queryParams="{ [Achievement.type] : 'hello' }">anchor text</a>
</li>

Желаемый результат: <a href="page?position=hello"></a>


person Ben Racicot    schedule 04.10.2017    source источник
comment
Я не уверен, понимаю ли я, о чем вы спрашиваете... как вы хотите, чтобы поведение отличалось от предоставленного вами кода?   -  person Kevin Aud    schedule 05.10.2017
comment
@KevinAud приношу свои извинения. Я обновил вопрос с желаемым результатом = традиционная ссылка с параметрами запроса.   -  person Ben Racicot    schedule 05.10.2017
comment
Казалось бы, ключ [queryParams] нельзя сделать динамическим значением, но само значение может быть динамическим. Возможно, вам придется пересмотреть свой подход.   -  person R. Richards    schedule 05.10.2017
comment
Вау, я думаю, ты прав @R. Ричардс. Ничего не могу найти в Интернете. Документы говорят, что queryParams: {[k: string]: any} ничего об этом не найдено, что не может быть динамическим.   -  person Ben Racicot    schedule 05.10.2017
comment
Я пытался заставить его работать, но в итоге получил ошибки времени выполнения. Возможно, вы могли бы создать ключ payload и передать некоторые значения из json в значение, возможно, с хорошим разделителем.   -  person R. Richards    schedule 05.10.2017