好吧,我正在做一些事情,使ajax調用並收到一堆消息的列表。消息被處理或完成,由變量isProcessed標記,如果它等於0,則不是,如果它是1,則爲。角4:組件變量依賴於另一個變量
無論如何,我將接收到的消息設置爲名爲'messageArray'的組件中的單個變量...並且我有2個獨立變量,稱爲已處理和已完成。這些函數基本上等於messageArray的過濾器。
但是我的問題是,爲什麼這些變量在messageArray變量發生變化時不會改變,我該如何解決這個問題。這就是它的樣子。
messageArray: Array<any> = []
processing = this.messageArray.filter((message) => {
return message.isProcessed === 0
});
completed = this.messageArray.filter((message) => {
return message.isProcessed === 1
});
感謝您的幫助!
編輯: 因此,當組件啓動時,它最初的messageArray爲空,如上例所示,但是它也立即使用服務進行AJAX調用以獲取用戶的消息並將結果設置爲messageArray如此。
getMessages(info) {
let messageJSON = JSON.parse(info);
this.messageArray = messageJSON.m
}
它集MessageArray後,所以最好有新的內容,也應該改變陣列「處理」和「完成」,因爲他們只是過濾該數組的版本。
編輯2: 一個更簡單的例子就是這個。我有兩個變量。一個是'x',另一個叫doubleX,其中doubleX = x * 2。我需要的是當變量x改變時,我也需要這個變量'doubleX'來改變使用新的'x'值。
調查變化檢測策略 –
你如何得到ajax結果?接收後你如何處理它? –
我有一項服務,我的組件打電話給服務,並採取它的結果。無論如何,另一種思考方式是如果我有兩個變量,一個叫做數字,另一個叫'numberPlus100'。我需要變量'numberPlus100'來改變數字的變化。 – josh35767