Причина, по которой вы получаете неопределенное значение, заключается в том, что вы ожидаете значение до того, как данные asyn c станут доступны (я полагаю, что когда ваш запрос asyn c завершится). Вы можете использовать Event Emitter для отправки данных родителю. Таким образом, вы можете установить number
в родительском элементе на значение count
, только если оно у вас есть. Я также рекомендую прочитать руководство Component Interaction в официальных документах.
- Зарегистрировать источник событий в своем дочернем компоненте
ChildComponent
@Output() countChanged: EventEmitter<any> = new EventEmitter();
Когда вы получаете данные, вы можете передать данные родителю:
// ...Logic that gets the data
this.countChanged.emit(this.count);
//...
В родительском шаблоне вы можете привязать дочерний компонент и прослушивать дочерние события.
Родительский компонент HTML
<child-component (countChanged)="doSomethingWithCount($event)></child-component>`
Родительский компонент
public doSomethingWithCount(count: number):void {
this.number = count;
//. . . More logic
}