2017-01-06 12 views
1

Я пытаюсь создать приложение Angular 2 с маршрутизацией. У меня есть ссылка в моем шаблоне, который выглядит следующим образом:typescript angular2 template queryParams

<a href="#" [routerLink]="['/Foo']" [queryParams]="{page:1+curr}">Next</a> 

В моем классе компонентов curr определяется как

curr: number = 0 

Я хочу связанный URL быть

/Foo?page=1 

вместо этого это выглядит так: 1 и curr объединяются и URL-адрес

/Foo?page10 

Любые идеи?

+0

Ваш код отлично работает ...? Я тестировал его, он добавляет 1 и правильно работает. – 12seconds

ответ

0

Попробуйте этот код

<a href="#" [routerLink]="['/Foo']" [queryParams]="{page:'1'+curr}">Next</a> 
+0

Я попробовал и получил тот же результат '/ Foo? Page = 10' –

+0

да, ожидалось результата –

0

Проблема заключалась в том, даже если curr был объявлен curr: number = 0 позже он был asigned переменной возвращенного с помощью AJAX, что случилось быть строкой

curr = data.current // current is a string 

I ожидал, что это поймает транспилер, но у меня не было вертиса линта. Поэтому, пытаясь добавить строку и число, число принудительно вставляется в строку, и результат был конкатенацией.