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); } }

相关内容

热门资讯

透视新版!德普之星辅助器怎么用... 透视新版!德普之星辅助器怎么用,德普之星透视辅助软件是真的吗,详细教程(有挂黑科技)1、透视新版!德...
透视透视“德州真人透视脚本”透... 透视透视“德州真人透视脚本”透视辅助app(原来是有挂)德州真人透视脚本软件透明挂微扑克wpk插件教...
透视计算!德普之星辅助器,(德... 透视计算!德普之星辅助器,(德普之星)切实是真的有挂,微扑克教程(有挂工具)1、游戏颠覆性的策略玩法...
透视透视!pokemmo内置修... 透视透视!pokemmo内置修改器,德州局透视脚本下载安装最新版本,黑科技教程(有挂介绍)运德州局透...
透视美元局!如何下载德普之星辅... 透视美元局!如何下载德普之星辅助软件,德普之星透视辅助软件,靠谱教程(有挂脚本);1、首先打开如何下...
透视插件“pokemmo脚本最... 透视插件“pokemmo脚本最新版”透视辅助插件(果然有挂)1、玩家可以在pokemmo脚本最新版软...
透视模拟器“pokemmo脚本... 透视模拟器“pokemmo脚本辅助下载”透视辅助助手(确实存在有挂)1、pokemmo脚本辅助下载系...
透视安卓版!德普之星的辅助工具... 透视安卓版!德普之星的辅助工具介绍,德普之星辅助器app,规律教程(有挂规律)透视安卓版!德普之星的...
透视工具“xpoker辅助怎么... 透视工具“xpoker辅助怎么用”透视辅助工具(一直是有挂)1、完成xpoker辅助怎么用透视辅助安...
透视挂!德普之星透视辅助软件下... 透视挂!德普之星透视辅助软件下载,(德普之星)其实真的有挂,力荐教程(有挂黑科技)1、该软件可以轻松...