2017-01-03 3 views
0

Я вызываю службу из класса Component и получаю Observable (Customer) Object в качестве ответа. Если я использую <div *ngFor="let cust of customerDetailsItem">{{cust.id}}</div>, то я получаю значения. но если я хочу использовать этот наблюдаемый ответ в компоненте, то он показывает «Undefined».Как перевести наблюдаемый объект ответа из компонента в Angular 2

constructor(public service:ViewListCustomerServiceService) { 
    this.service.getCustomerItemList().subscribe(lst =>this.customerDetailsItem=(lst)); 
console.log(this.customerDetailsItem); //Showing Undefined. 
    } 

, потому что я хочу "customerDetailsItem" для присваивания данных для Json объекта в классе Component.

ответ

0

Ваш объект this.customerDetailsItem будет не определен, пока вы не получите ответ от подписки. Итак, что вы можете сделать, это выполнить код, который необходим после получения lst.

constructor(...) { 
    this.service.getCustomerItemList() 
     .subscribe(lst=>this.initialize(lst)); 
} 

initialize(lst: any) { 
    this.customerDetailsItem = lst; 
    // from now on your object will be set 
} 
+0

Thank You Very Much. его Работа для меня, –

+0

Добро пожаловать! –

+0

Привет, сэр, на самом деле я использую «ng2-smart-table». Я хочу передать «customerDetailsItem» в качестве данных таблицы (в источник @Input), если я отправляю, выполняя вышеуказанное решение, а затем таблица показывает пустой. если я передаю данные вручную, тогда только его показ. например: данные: CustomerDetailsItem [] = [ { ID: 1, "имя": "Клиент 1", "деталь": "Клиент 1", "активный": ложные }, { "идентификатор": 2, "имя": "Клиент 2", "деталь": "Заказчик 2 деталь здесь идет", "активный": ложные } ] –

Смежные вопросы