ahmed_sa Ответов: 1

Как вернуть employeecode на angular employees component.html-что?


Проблема

Как вернуть EmployeeCode на angular employees component.html -что ?

Sample data ReferenceTable

Code  tableName   FieldName   LabelText
111   Employees   EmployeeId  EmployeeCode
Result of calling

GetLabelTextForEmployee('Employees','EmployeeId')


он должен вернуть EmployeeCode

Я работаю дальше asp.net core 2.1 web API с angular 6.

Я делаю функцию на веб API name GetReferenceFileData, чтобы получить текст метки из

база данных и шоу на просмотре на employees.component.html на основе справочной таблицы .

Это моя функция :

[HttpGet("{tableName}/{FieldName}")]
        [Produces("text/plain")]
        public string GetReferenceFileData([FromRoute] string tableName, [FromRoute] string FieldName)
        {
          var Result =  (from h in _context.ReferenceFiles
                          where h.TableName == tableName && h.FieldName == FieldName
                          select h.LabelText).FirstOrDefault();
            if(Result==null)
            {
                Result = "Not Exist";
            }

            return (Result);


        }


Функция выше возвращает только одно строковое значение для метки в виде скалярного значения

на employee.component.html
// как использовать функцию GetLabelTextForEmployee здесь, чтобы вернуть EmployeeCode

Что я уже пробовал:

1 - on API service on angular я создаю функцию ниже :
public GetLabelTextForEmployee(tableName:string,FieldName:string): Observable<any> {
        return this.http
            .get('https://localhost:44326/api/reference/' + tableName + '/' + FieldName, {
                responseType: 'text',
            });
    }

1 Ответов

Рейтинг:
0

StijnBollen

В ваших сотрудников.компонент.TS файл можно импортировать функции OnInit и OnDestoy и воплощать их в жизнь.
На ваши уроки, вы будете нуждаться в строку-собственность employeeCode, чтобы сохранить значение.
В ngOnInit вам нужно подписаться на GetLabelText ApiService с необходимыми параметрами, а в ngOnDestroy вам нужно будет отказаться от подписки.

import { OnInit, OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';

import { ApiService } from '../../services/api.service';

@component({
  selector: '[app-employees]'
  templateUrl: './employees.component.html',
})
export class EmployeesComponent implements OnInit, OnDestroy {

  public labelSubscription: Subscription;
  public employeeCode: string;

  public constructor(private apiService: ApiService) { }

  public ngOnInit() {
    this.labelSubscription =
      ApiService.GetLabelText('Employee', 'EmployeeId')
                .subscribe((value) => this.employeeCode = value);
  }

  public ngOnDestroy() {
    if (this.labelSubscription) {
      this.labelSubscription.unsubscribe();
      this.labelSubscription = null;
    }
  }
}


Я также предлагаю вам взглянуть на Угловая документация и сделать пробежку по Учебник для героев.