#angular #angular-ui-router #angular-ng-if
#angular #angular-ui-router #angular-ng-if
Вопрос:
Я новичок в Angular. В моей программе я передаю некоторые значения внутри <a href>
тега.
Текущий код таков.
<a (click)="navigateFunction()" href="{{sceURL}}/?orderId={{orderId}}">
component.ts :
navigateFunction(){
this.orderId = this.orderIdFormGroup.value.orderId;
this.sceURL = "URL";
}
Если значение равно нулю, оно перезагружается с помощью ключа, подобного этому.
URL/rtap-menu/gadget-rtap-sce?orderId=
Как изменить его на URL-адрес только для передачи, если значение равно Null
Я надеюсь, что это можно сделать с помощью ng-attr-href
Ответ №1:
попробуйте выполнить
get gotoUrl() {
return this.orderId
? `${sceURL}/?orderId=${orderId}`
: this.sceURL
}
и в html, как
<a (click)="navigateFunction()" [href]="gotoUrl">
Ответ №2:
Поскольку вы новичок в angular, вам следует прочитать о том, как работает маршрутизация в этом официальном руководстве. В частности, как работает routerLink (который следует использовать для внутренней навигации внутри приложения) и как вы можете передать массив параметров, например
<a [routerLink]="['orderId', orderIdFormGroup.value.orderId]">
Это устраняет необходимость в прослушивателе (щелчок) и повышает удобство использования (поскольку ссылки будут отображаться правильно и могут быть скопированы).