我得到了属性' listName'类型' {}'上不存在当我在我的详细信息页面中运行以下代码时。这似乎是微不足道的,但我整个下午都无法理解这里出了什么问题。
<a runat="server" id="btn_status_toggle" class="btn btn-success" data-toggle="modal" data-target="#myModal" onclick='<%# "fun("+ Eval("tocht_id") + ")" %>'>Status</a>
当我运行console.log(myListItems)时,我得到以下数据。
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);
})
}
}
然而,当我跑
时{
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 }
我得到了
console.log(myListItems.listName);
即使属性存在于对象myListNames
中我确信我在这里遗漏了一些小事。但我花了整整一个下午,不知道答案。
非常感谢您的帮助!
答案 0 :(得分:1)
这是一个TypeScript编译器错误,您可能应该将listDetailsService.load
函数的返回类型更改为any
或您定义的与列表对象匹配的接口。
export class ListDetailsService {
//...
load(): any {
//...
}
}