我在打字稿服务文件中有一个数组。如何在我的服务类中的数组类型的组件类中声明一个数组。 这是我在服务打字稿文件中的数组声明。
export class ChannelsService {
channels= [
{
pickCode: '780',
cbsCode: 'AE',
channel: 'A&E',
logo: '/assets/A&E.png',
compChannel: {
compChannelCbsCode: '',
compChannelName: '',
compChannelLogo: ''
}
},
{
pickCode: '911',
cbsCode: 'ABCSPK',
channel: 'ABC Spark',
logo: '/assets/ABC Spark.jpg',
compChannel: {
compChannelCbsCode: '',
compChannelName: '',
compChannelLogo: ''
}
},
我希望在我的组件类的服务typescript文件中声明一个相同channels数组的数组。 这是我现在这样做的方式,它不起作用
import { ChannelsService } from './channels.service';
export class AppComponent implements OnInit {
draggedChannel: Array<this.channelsService.channels>[];
constructor(private pickGroupService: PickGroupService, private channelsService: ChannelsService) {}
答案 0 :(得分:1)
No
,您可以按如下方式创建新的类/接口并使用该类型
我在这里使用了 json2ts
,您可以根据需要进行更改,
export interface CompChannel {
compChannelCbsCode: string;
compChannelName: string;
compChannelLogo: string;
}
export interface RootObject {
pickCode: string;
cbsCode: string;
channel: string;
logo: string;
compChannel: CompChannel;
}
答案 1 :(得分:0)
虽然声明一个接口在数组声明中使用它是更好的方法,但你可以得到这样的数组类型:
// Just a dummy var so we can access instance properties
declare var _dummy : ChannelsService;
// we use typeof to get the type of the array.
type ArrayType = typeof _dummy.channels;
let array : ArrayType; // Use the array type like any other