视图刷新

来源:6-2 创建底部 TabBar(2)

这个人

2020-04-05

contents$ = this.http.get<MyCard>(url)

<component ngfor="let content of contents | async"></component>


this.http.delete(url, headerOption).subscribe(res => { console.log(res) })


删除一部分数据后,视图不会刷新,必须刷新浏览器,怎样不用刷新浏览器呢?


写回答

2回答

接灰的电子产品

2020-04-07

首先要知道视图刷新是要和绑定的元素相关的,不是有魔法的。所以你删除一个东西的时候,你的原有数组并没有改动,因为你没有重新请求,所以视图不会自动刷新。如果要提现改变,有几种做法

  1. 用一个成员变量数组,在流的 subscribe 中去赋值,在删除的时候,把元素从这个数组中移除,但这种方式下你就不能用 async 了。

  2. 维持 async,但需要在删除后去通知一下取得数组的这个流,重新拉取一下数据。这个可以使用 subject 来去发送信号


0
1
这个人
非常感谢!
2020-04-08
共1条回复

ok_Wei

2020-04-07

<component ngfor="let content of contents | async"></component>这里换成contents试试呢

0
0

Angular 开发拼多多webapp 从基础到项目实战

高仿拼多多WebApp,带你在实战环境中学习Angular

1322 学习 · 451 问题

查看课程