В моем html-шаблоне моего компонента «a» у меня есть кнопка, которая используется для перехода к другому компоненту:
<button nbButton status = "info" class = "left" [routerLink] = "['/centers', center.id, 'prices']">PRICES</button>
Поэтому нажатие на эту кнопку заставило меня перейти к другому компоненту «b».
В компоненте «а» у меня есть переменная частного объекта, которая содержит строковое значение currenciesAccepted
, в основном: myObject.currenciesAccepted
.
В компоненте «b» мне нужно это строковое значение, поэтому мне нужно передать его, когда я нажимаю кнопку, чтобы перейти от компонента «a» к компоненту «b».
Вы можете добавить [queryParams]='{"obj":myObject.currenciesAccepted}'
к кнопке, это передаст строку в параметрах запроса
ActivatedRoute Observable содержит параметры запроса. Однако вы не можете получить доступ к частной переменной из шаблона, поэтому либо переключите ее на общедоступную, либо создайте метод получения.
попробуй это
<button nbButton status = "info" class = "left"
[routerLink] = "['/centers', center.id, 'prices']"
[queryParams]='{currenciesAccepted: myObject.currenciesAccepted}' >PRICES</button>
в компонентах центров
import { ActivatedRoute } from '@angular/router';
currenciesAccepted: any = {};
constructor( private route: ActivatedRoute) { }
ngOnInit() {
this.route.queryParamMap.subscribe( params => {
this.currenciesAccepted = params.get('currenciesAccepted') ;
})
}
Хорошо, но как получить этот объект на компоненте «b»?