0
ソケットからイベントを受け取る必要があるデータの属性が増えているので、インターフェイスオブジェクトで定義されている値をキーするだけで、データを受け取るときに配列に関連するデータだけをプッシュする方法はありますか?角度またはネイティブのJavaScriptを使用して関連するデータを配列にプッシュするにはどうすればよいですか?
app.component.ts
ngOnInit() {
this.socket.on('newMessage', (event) => {
console.log('Datasource', event);
this.dataSource.data.push(event);
this.dataSource.data = [...this.dataSource.data]
console.log("DATASOURCEINIT",this.dataSource.filteredData);
});;
});
}
export interface Element {
ticketNum: number;
ticketOpened: number;
eventType: string;
riskIndex: string;
riskValue: number;
severity: string;
lastModifiedDate: number;
assetID: string;
}
{
"_id" : ObjectId("59cbd128b41475991bb6624f"),
"ticketState" : "Closed",
"rootCauseCode" : 50,
"escalationDeadline" : 0,
"totalImpactedCustomers" : 0,,
"ebmIndicator" : 0,
"adjustedTimeToRestore" : 30,
"keyItemAffected" : "LSVOIP.voip_scripts-6-1:1",
"rootCause" : "Other",
"ticketNum" : "0000002324638628",
"agentID" : "dd808a",
"assetID" : "5065295027006",
"ticketRole" : "Main",
"riskIndex" : "H",
"eventType" : "UPDATE-Customer Log",
"avgCreditAmt" : "110.00",
"adjustedTimeToRepair" : 30,
"ISOCurrencyCode" : "USD",
"ticketPriority" : "6",
"functionalArea" : "GLOBAL_AM",
"reportedCustomerImpact" : 0,
"assetPriority" : "Normal",
"rootTicketId" : "000000234638628",
"workQueue" : "VOIP_RULES",
"creditAmt" : "120.00",
"nodeName" : "LSVOIP_15065295",
"ticketStateID" : "3014",
"activeOrg" : "MO-BGTN-APPL",
"restoreDuration" : "0",
"severity" : "5 - Normal",
"lastModifiedDate" : "1506529546",
"riskValue" : 1,
"ticketOpened" : 1506529510,
}
はここでただ、これらのキーのペア
{
ticketNum: number;
ticketOpened: number;
eventType: string;
riskIndex: string;
riskValue: number;
severity: string;
lastModifiedDate: number;
assetID: string;
}
データが何であるか、あなたはそれから必要なものを私たちを表示します。 – yBrodsky
@yBrodskyがイベントを追加しました。私はそれから必要なものを見つけました – hussain
変換された値のタイプが必要ですか?たとえば、 'ticketNum:number'と言うと、元のオブジェクトでは文字列です。それは文字列(先頭に '0'sを含むか、数値として欲しいですか?)の先頭にある' 0'を削除しますか?以下の私の答えを見てください。 – Intervalia