Полагаю, вы имеете в виду, что когда вы звоните GetLabelTextForEmployee()
, вы не получаете результат (или, скорее, вы не получаете ожидаемый результат)?
Когда вы используете Angular's HttpClient
дляHTTP-запросы, вы должны подписаться на метод, в противном случае он фактически никогда не выполняется.
В вашем employee.component.ts
вам нужно будет вызвать функцию, подписаться на нее и назначитьрезультат к локальной переменной.Затем вы можете использовать эту локальную переменную в своем шаблоне (employee.component.html
);
В следующем предполагается, что вы хотите вызвать функцию при инициализации компонента, и ваша функция находится в вызове службы ApiService
, и что вашAPI возвращает объект.
employee.component.ts
employee: any;
constructor(private apiService: ApiService) { }
ngOnInit() {
this.apiService.GetLabelTextForEmployee().subscribe(result => {
this.employee = result;
}
}
employee.component.html
Сейчас,с назначенной локальной переменной вы можете использовать интерполяцию для отображения значения.
например,
<span class="employee-code">{{employee.employeeCode}}</span>
Опять же, это при условии, что ваш API возвращает объект, к которому вы обращаетесьшаблон с {{employee.employeeCode}}
.
Если ваш API возвращает строку, то вы просто интерполируете {{employee}}
РЕДАКТИРОВАТЬ
Если вы хотите вызвать функцию непосредственно изВ этом шаблоне вы все еще используете интерполяцию, но, поскольку ваша функция находится в службе, вам необходимо иметь функцию в своем компоненте, которая вызывает службу.Не рекомендуется вызывать сервисную функцию непосредственно из шаблона.
т.е.
employee.component.ts
getEmployeeCode() {
return this.apiService.GetLabelTextForEmployee('Employees','EmployeeId');
}
employee.component.html
Теперь вы можете позвонить по номеру getEmployeeCode()
и использовать async
трубку.
{{getEmployeeCode() | async}}
ПРИМЕЧАНИЕ: Вам НЕ нужно подписываться на GetLabelTextForEmployee()
в методе вашего компонента (getEmployeeCode()
) при использовании канала async
.Angular уже подпишется на него и вернет последнее выданное значение, прежде чем пометить для обнаружения изменений.
Асинхронный канал подписывается на Observable или Promise и возвращает последнее выданное им значение.Когда выдается новое значение, асинхронный канал помечает компонент, который необходимо проверить на наличие изменений.Когда компонент уничтожается, асинхронный канал автоматически отписывается, чтобы избежать возможных утечек памяти.