2017-03-06 1 views
0

내 세부 정보 페이지에서 다음 코드를 실행할 때 'listName'유형이 '{}'유형에 없습니다. 사소한 것처럼 보이지만 오후 내내 무엇이 잘못되었는지 이해하지 못했습니다.속성 'listName'이 (가) '{}'유형에 존재하지 않습니다.

import { Component } from '@angular/core'; 
import { NavController, NavParams } from 'ionic-angular'; 
import {ListDetailsService} from '../../providers/list-details-service'; 


@Component({ 
    selector: 'page-item-details', 
    templateUrl: 'item-details.html' 
}) 
export class ItemDetailsPage { 
    selectedItem: any; 
    detailsItems : Array<{title: string, note: string, id: string}>; 

    constructor(public navCtrl: NavController, public navParams: NavParams, public listDetailsService : ListDetailsService) { 
    // If we navigated to this page, we will have an item available as a nav param 
    this.selectedItem = navParams.get('item'); 

    this.detailsItems = []; 
    this.listDetailsService.load(this.selectedItem.id).then(myListItems => { 
     console.log(myListItems); 
     console.log(myListItems.listName); 


    }).catch(function(e){ 
     console.log(e); 
    }) 
    } 
} 

console.log (myListItems)를 실행할 때 다음 데이터가 표시됩니다. 나는이 건물은 객체 myListNames에 존재하더라도

console.log(myListItems.listName); 

내가

Property 'listName' does not exist on type '{}'. 

를 얻을 실행 그러나

{ 
items: 
    [ { _id: 58bbf7fd463667f51d7804f6, 
     votes: '10', 
     item: 'Apple Iphone' }, 
    { _id: 58bbf7fd463667f51d7804f5, 
     votes: '2', 
     item: 'Google Phone' }, 
    { _id: 58bbf7fd463667f51d7804f4, 
     votes: '2', 
     item: 'Samsung Phone' }, 
    { _id: 58bbf7fd463667f51d7804f3, votes: '6', item: 'LG Phone' } ], 
    __v: 0, 
    listName: 'Best Phones', 
    _id: 58bbf7fd463667f51d7804f2 } 

,

나는 사소한 뭔가를 놓친 거지 확신 이리. 그러나 나는 대답을 모르고 오후 내내 보낸다.

귀하의 도움에 감사드립니다!

답변

1

이것은 TypeScript 컴파일러 오류이므로 listDetailsService.load 함수의 반환 형식을 any 또는 목록 개체와 일치하는 정의 된 인터페이스로 변경해야합니다.

export class ListDetailsService { 

    //... 
    load(): any { 
     //... 
    } 

} 
+0

감사합니다. 나는 타이프 스크립트를 전혀 생각하지 않고 있었다. –

관련 문제