Angular的ChangeDetectionStrategy.OnPush不会在输入更改时触发
创始人
2024-10-24 02:00:45
0

在Angular中,当使用ChangeDetectionStrategy.OnPush策略时,组件只会在输入属性发生变化或自身事件(例如点击按钮)触发时重新渲染。

但是有时输入属性发生变化时,组件却没有重新渲染。这可能是因为输入属性不是引用类型,而是一个新的对象,导致无法触发变化检测。

解决方法是使用不可变对象,例如通过使用Immutable.js或Angular中的不可变数据结构来创建新的对象。

以下是一个示例,演示了如何使用不可变对象来解决这个问题:

// 使用不可变对象

import { Component, Input, ChangeDetectionStrategy } from '@angular/core'; import { List } from 'immutable';

@Component({ selector: 'app-person', template:

Name: {{ person.name }}

Age: {{ person.age }}

, changeDetection: ChangeDetectionStrategy.OnPush }) export class PersonComponent { private _person = List([]);

@Input() set person(value) { this._person = List([value]); }

get person() { return this._person.get(0); } }

相关内容

热门资讯

教程辅助!家乡大二的技巧,wp... 教程辅助!家乡大二的技巧,wpk软件是真的吗,细节揭秘(详细教程)是一款可以让一直输的玩家,快速成为...
玩家必看秘籍!皮皮跑子辅助,火... 玩家必看秘籍!皮皮跑子辅助,火神大厅辅助器(一贯有挂)暗藏猫腻,小编详细说明火神大厅辅助器破解器有用...
推荐一款!新畅游插件,werp... 推荐一款!新畅游插件,werplan辅助软件,曝光教程(发现有挂);新畅游插件简单的灵活控制,仅凭一...
分享给玩家!广东闲来辅助工具,... 分享给玩家!广东闲来辅助工具,天天微友有辅助吗(一贯存在有挂)1、完成天天微友有辅助吗辅助器v3.3...
每日必看教程!雀友会广东潮汕苹... 每日必看教程!雀友会广东潮汕苹果,wepoker怎么下载游戏,我来教教你(有挂方针)是一款可以让一直...
科技通报!盛世辅助插件,九天大... 科技通报!盛世辅助插件,九天大厅辅助器(本来有挂)1、首先打开九天大厅辅助器辅助器下载最新版本,在九...
重大通报!广丰510k辅助插件... 重大通报!广丰510k辅助插件,wepoker游戏下载,切实教程(有挂秘笈);一、广丰510k辅助插...
必备科技!广东雀神麻雀辅助神器... 必备科技!广东雀神麻雀辅助神器,四川途游辅助(原来是真的有挂)1、必备科技!广东雀神麻雀辅助神器,四...
揭秘关于!西元红河辅助,大菠萝... 揭秘关于!西元红河辅助,大菠萝免费辅助器,微扑克教程(证实有挂);大菠萝免费辅助器软件透明挂作为一款...
实测教程!边锋干瞪眼ios辅助... 实测教程!边锋干瞪眼ios辅助微信,微信小程序加速器(本来是真的有挂)1)边锋干瞪眼ios辅助微信辅...