मैं टाइपप्रति में वीएसटीएस एपीआई से प्रतिक्रिया को संभालने के लिए संघर्ष कर रहा हूं।

क्या इस इंटरफ़ेस को संभालने का कोई तरीका है?

export interface Fields {
'System.AreaPath': any;

'System.TeamProject': string;
'System.IterationPath': string;
'System.WorkItemType': string;
'System.State': string;
'System.Reason': string;
'System.AssignedTo': string;
'System.CreatedDate': Date;
'System.CreatedBy': string;
'System.ChangedDate': Date;
'System.ChangedBy': string;
'System.Title': string;
'Microsoft.VSTS.Feedback.ApplicationType': string;
'System.Description': string;
'System.History': string;
'Microsoft.VSTS.Feedback.ApplicationStartInformation': string;
'Microsoft.VSTS.Feedback.ApplicationLaunchInstructions': string;
}

मेरे कोड में मैं फ़ील्ड्स को लूप करने का प्रयास करता हूं (workItems === फ़ील्ड)

     <tbody>
        <tr *ngFor="let workitem of workItems">
          <!-- *ngFor="let field of workitems.fields" -->
          <td>{{workitem.fields.System.AreaPath}} << THIS IS NOT ALLOWED</td>
        </tr>

      </tbody>

किसी के पास एक शानदार विचार है कि इसे कैसे हल किया जाए?

1
MrWeiland 1 सितंबर 2017, 16:00

3 जवाब

सबसे बढ़िया उत्तर

सबसे पहले, आप किसी वस्तु पर ngFor का उपयोग नहीं कर सकते।

दूसरा, यदि workItems प्रकार फ़ील्ड का है, तो आपको इसकी विशेषताओं में से किसी एक को प्रदर्शित करने के लिए किसी लूप की आवश्यकता नहीं है। आपको बस जावास्क्रिप्ट या टाइपस्क्रिप्ट की तरह ही चाहिए

workItems['System.AreaPath']
1
JB Nizet 1 सितंबर 2017, 16:03

{{ workitem.fields['System.AreaPath'] }}

काम करता है?

3
elzoy 1 सितंबर 2017, 16:02

@elzoy और @JB Nizet के लिए धन्यवाद यह था कि ['System.AreaPath'] मुझे तब चाहिए जब इंटरफ़ेस पर गुण "जटिल" हों। मुझे वास्तव में टाइपस्क्रिप्ट में कुछ सजावटी जैसे सी # [जेसनप्रोपर्टी] याद आ रही है। लेकिन यह बहुत अच्छा काम करता है।

बहुत धन्यवाद - इससे पहले कि आपने मेरी मदद की, घंटों बर्बाद हो गए। :)

      <tbody>
        <tr *ngFor="let workitem of workItems">

          <td>{{workitem.fields['System.AreaPath']}}</td>
        </tr>
      </tbody>


export interface Fields {

'System.AreaPath': string;

'System.TeamProject': string;
'System.IterationPath': string;
'System.WorkItemType': string;
'System.State': string;
'System.Reason': string;
'System.AssignedTo': string;
'System.CreatedDate': Date;
'System.CreatedBy': string;
'System.ChangedDate': Date;
'System.ChangedBy': string;
'System.Title': string;
'Microsoft.VSTS.Feedback.ApplicationType': string;
'System.Description': string;
'System.History': string;
'Microsoft.VSTS.Feedback.ApplicationStartInformation': string;
'Microsoft.VSTS.Feedback.ApplicationLaunchInstructions': string;
}

export interface WorkItemFullInformation {
id: number;
rev: number;
fields: Fields;
url: string;

}

export interface FetchWorkItemRootObject {
count: number;
value: WorkItemFullInformation[];

}

0
MrWeiland 1 सितंबर 2017, 22:24