stackblitz.com / edit / angular-kendo-2grid проверьте это.Если я щелкаю следующую сетку, она должна вызывать новый API и отображать данные, но она также меняет предыдущие данные
У меня есть два разных метода в моем отдельном компоненте, который использует метод .pipe () и ссылается на два разных метода вслужебный файл.Это означает, что они намеревались дать другой результат, но дать тот же результат.
У меня есть хорошее представление, и я реализую новое представление при нажатии на один из списка.Я получаю новый результат в порядке, но существующий результат также обновляется.
В моем служебном файле:
methodOne(){
return this.http
.get(`https://jsonplaceholder.typicode.com/posts`, this.httpOptions)
.pipe(
map(
res => {
if (!res) {
return res = '';
} else {
return res
}
}
)
)
.pipe(
tap(data => {
this.data = data
})
)
.subscribe(data => {
super.next(data);
});
}
}
Первоначальный первый метод работает и ниже второго тоже работает, но когда второй работает Он тоже меняет результат первого просмотра
methodTwo(){
return this.http
.get(`https://jsonplaceholder.typicode.com/newposts`, this.httpOptions)
.pipe(
map(
res => {
if (!res) {
return res = '';
} else {
return res
}
}
)
)
.pipe(
tap(data => {
this.data = data;
})
)
.subscribe(data => {
super.next(data);
});
}
}
Вмой файл компонента:
comOne(value){
this.editService.methodOne(value);
this.view = this.editService.pipe(map(
data => process(data, this.gridState)
));
}
comTwo(value){
this.editService.methodTwo(value);
this.view2 = this.editService.pipe(map(
data => process(data, this.gridState)
));
}
Оба работают, но когда я вызываю comTwo (значение), это тоже меняет результат this.view, я хочу сохранить результат this.view