Angular - изменить наблюдаемое значение
У меня есть функция в моем angular
компонент, который получает наблюдаемый. Мне нужно изменить объект внутри наблюдаемой, а затем снова "поместить его обратно" в наблюдаемое и вернуть его. Это мой код до сих пор:
myImmobili = Observable<Valutazione[]>;
newImmobile(immobili: Observable<Valutazione[]>) {
immobili.subscribe(
imm => {
console.log(imm);
imm.push(new Valutazione());
console.log(imm);
this.myImmobili = //some code here
}
);
}
Кто-нибудь может дать мне подсказку? Возможно, есть даже лучший способ изменить мой массив, не подписываясь на него, но я не смог его найти. Благодарю.
РЕДАКТИРОВАТЬ
newImmobile() {
this.immobili.subscribe(i => console.log('before', i));
this.immobili.map(imm => {
imm.push(new Valutazione());
console.log('inside', imm);
}
);
this.immobili.subscribe(i => console.log('after', i));
}
Теперь он полностью пропускает функцию карты. Журналы "до" и "после" показывают один и тот же массив, а "внутренний журнал" не отображается.
1 ответ
Решение
Вместо подписки вы можете использовать карту:
immobili.map(
imm => {
console.log(imm);
imm.push(new Valutazione());
console.log(imm);
this.myImmobili = //some code here
}
);