【问题标题】:Re-Rendering Angular component重新渲染 Angular 组件
【发布时间】:2020-09-19 04:33:19
【问题描述】:

每当我更改布尔变量的值时,我都会有以下堆栈闪电战,我希望重新渲染组件,我该如何实现?

https://stackblitz.com/edit/angular-ivy-8rwqba?file=src/app/app.component.html

【问题讨论】:

    标签: angular components


    【解决方案1】:

    使用[checked] 代替[value]

    <input type="checkbox" [checked]="test1"/>test1 - {{test1}}
    <input type="checkbox" [checked]="test2"/>test2 - {{test2}}

    【讨论】:

    • 但我认为基于组件显示或隐藏的值假设组件隐藏而不是单击显示它我希望重新编译组件
    • angular 有一个生命周期系统:itnext.io/understanding-angular-life-cycle-hooks-91616f8946e3,所以在这种情况下,您只需根据输入值(此处为 test1 或 test2)使用 *ngIf,angular 将为您处理:) .有时(在特定情况下很少见),Angular 不会像您期望的那样重新渲染数据,您可以使用 ChangeDetectorRef 服务的 detectChanges() 方法来强制它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 2018-08-12
    • 2019-06-01
    • 2020-02-13
    • 2018-10-27
    • 1970-01-01
    • 2021-10-27
    相关资源
    最近更新 更多