2017-01-02 31 views
1

使用打字稿为我的angular2服务获取一些接口设置。遇到配置问题。如何用打字机创建命名对象?

我希望能够像这样访问myItem['chickens'] &我的数据得到以下对象:

{ 
    name:"chicken", 
    price:1000, 
    names:["Harry", "Barry", "Larry"] 
} 

我怎样写我的接口以正确的方式,这样我可以让我的数据备份就像之前提到的?

export interface StoreItem { 
     itemName:{ 
     itemName: string; 
     price: number; 
     nameList: Array<string>; 
     } 
    } 
+0

它是'myItem:StoreItem'吗? – jonrsharpe

回答

2

StoreItem■找字符串键和类型的值,那么你可以这样做:

interface StoreItem { 
    [key: string]: { 
    itemName: string; 
    price: number; 
    nameList: Array<string>; // or string[] 
    } 
} 

这将愉快地允许例如:

let myItem: StoreItem = { 
    chickens: { 
    name: 'chicken', 
    price: 1000, 
    names: ['Harry', 'Barry', 'Larry'] 
    } 
}; 

而且您可以访问内部项目如myItem['chickens']或简单地myItem.chickens