У меня 3 компонента. Login, Current and Future
. Когда пользователь вводит username and password
на странице входа, выполняется вызов API в серверную часть для проверки пользователя. Если пользователь действителен, возвращается data
. Теперь у меня есть служба commonData
, которая вызывается для хранения data
с использованием setMethod
, а затем ngOnInit из Current and Future
для извлечения данных с использованием getMethod
. На странице Current
в таблице представлены следующие данные:
data {
obj1{
name [],
usage[]
},
obj2{
name [],
usage[]
}
}
как есть. Страница Future
имеет форму, где количество полей = количеству объектов внутри данных. Имя поля формы = имя объекта. Использование - это то, что пользователь может изменить. Когда пользователь меняет использование, реализуется следующий лог c:
receivedData; // setter and getter methods in API
constructor() { // setter and getter methods in API
this.receivedData = {}; // setter and getter methods in API
}
setReceivedData(val: object){ // setter and getter methods in API
this.receivedData = val;
localStorage.setItem('receivedData', this.receivedData);
}
getReceivedData(){ // setter and getter methods in API
return this.receivedData;
} // setter and getter methods in API
limitUser(event){ // limit the user to enter only numbers less than 5 in usage fields, if less than 0 is added or no number is added it is changed to 0
for (let i = 0; i < this.data.length; i ++) {
if(!this.data[i].usage){
this.data[i].usage = 0;
}
}
}
isInValid(index){
return this.data[index].usage > 5;
}
get isFormInvalid(){
return this.data.some(datum => datum.usage > 5);
}
for (let i = 0; i < this.data.length; i ++) { // for loop to update the usage values
if (this.data[i].usage === null || this.data[i].usage === "") {
this.data[i].usage = 0;
} else {
this.data[i].usage= this.data[i].usage;
}
}
this.postService.postMethod(this.headers, this.updatedData)
Теперь, когда я sh обновляю использование в объекте updatedData
, он также обновляет значения, отображаемые на Current
страница. Как решить эту проблему. Любая помощь приветствуется.