返回顶部
首页 > 资讯 > 前端开发 > JavaScript >angular强制更新ui视图的实现方法
  • 329
分享到

angular强制更新ui视图的实现方法

angular强制更新ui视图强制更新视图angular更新ui视图 2023-03-06 08:03:24 329人浏览 薄情痞子
摘要

目录angular 强制更新ui视图方法1 主要使用方法类 ChangeDetectorRef2 赋值引入3方法中调用angular踩坑 数据发生改变,视图未更新解决方案 

angular 强制更新ui视图方法

强制更新ui视图方法主要用在数据已经改变,但是ui展示视图不跟新情况

1 主要使用方法类 ChangeDetectorRef

Angular 各种视图的基础类,提供变更检测功能。

变更检测树会收集要检查的所有视图。

使用这些方法从树中添加或移除视图、初始化变更检测并显式地把这些视图标记为脏的,意思是它们变了、需要重新渲染。

1.1类方法一:markForCheck()

当输入已更改或视图中发生了事件时,组件通常会标记为脏的(需要重新渲染)。调用此方法会确保即使那些触发器没有被触发,也仍然检查该组件。

1.2类方法一:detach()

从变更检测树中分离开视图。 已分离的视图在重新附加上去之前不会被检查。 与 detectChanges() 结合使用,可以实现局部变更检测。

即使已分离的视图已标记为脏的,它们在重新附加上去之前也不会被检查。

1.3类方法一:detectChanges()

检查该视图及其子视图。与 detach 结合使用可以实现局部变更检测。

1.4类方法一:checkNoChanges()

检查变更检测器及其子检测器,如果检测到任何更改,则抛出异常。

1.5类方法一:reattach()

把以前分离开的视图重新附加到变更检测树上。 视图会被默认附加到这棵树上。引入 ChangeDetectorRef

import { ChangeDetectorRef } from '@angular/core';

2 赋值引入

constructor(private ref: ChangeDetectorRef) { }

3方法中调用

    this.ref.markForCheck();    // 就是在拿到数据后,执行这两行代码,这是关键
    this.ref.detectChanges();

angular踩坑 数据发生改变,视图未更新

大多数情况下,页面的视图会随着数据的改变而改变,少数情况下,数据变了,而视图不更新。

左侧的视图,右侧数据,数据改变时,视图未更新。。。。具体原因呢,可能是angular 脏检查没有检测到数据更新吧。。。

解决方案

引入 ChangeDetectorRef ,使视图强刷。

import { Component, OnInit, Input, ChangeDetectorRef} from '@angular/core';

 总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: angular强制更新ui视图的实现方法

本文链接: https://lsjlt.com/news/198517.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • angular强制更新ui视图的实现方法
    目录angular 强制更新ui视图方法1 主要使用方法类 ChangeDetectorRef2 赋值引入3方法中调用angular踩坑 数据发生改变,视图未更新解决方案 ...
    99+
    2023-03-06
    angular强制更新ui视图 强制更新视图 angular更新ui视图
  • angular强制更新ui视图如何实现
    本文小编为大家详细介绍“angular强制更新ui视图如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“angular强制更新ui视图如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。angular 强...
    99+
    2023-07-05
  • uniapp开发APP之强制更新和热更新的实现
    目录前言整包更新和热更新版本号约束实现原理其他方案参考资料总结前言 app和h5相比,有着更新延迟和更新难的特性,h5在部署更新后可以保证所有用户访问的都是最新的功能,而app则可能...
    99+
    2022-12-21
    uniapp 热更新 教程 uniapp 强制更新 uniapp怎么热更新
  • mysql视图之创建可更新视图的方法详解
    本文实例讲述了mysql视图之创建可更新视图的方法。分享给大家供大家参考,具体如下: 我们知道,在mysql中,视图不仅是可查询的,而且是可更新的。这意味着我们可以使用insert或update语...
    99+
    2024-04-02
  • Android 更新UI的方法汇总
    1、Activity的 runOnUiThread textView = (TextView) findViewById( R.id.tv ); new Thread(ne...
    99+
    2022-06-06
    方法 方法汇总 Android
  • 使用javafx更新UI的方法
    使用javafx更新UI JavaFx如果在子线程中更新UI,不论是task还是runable都会报错 java.lang.IllegalStateException: Not o...
    99+
    2024-04-02
  • Android实现在子线程中更新Activity中UI的方法
    本文实例讲述了Android实现在子线程中更新Activity中UI的方法。分享给大家供大家参考,具体如下: 在Android平台下,进行多线程编程时,经常需要在主线程之外的一...
    99+
    2022-06-06
    方法 activity 线程 Android
  • mysql更新视图的限制是什么
    这篇文章给大家分享的是有关mysql更新视图的限制是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有些视图是不可更新的,因为这些视图的更新不能唯一有意义地转换为相应的基本表。一般来说,可以更新行列子集视图。除...
    99+
    2023-06-25
  • android应用中实现异步更新UI的方法有哪些
    android应用中实现异步更新UI的方法有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。android中有下列几种异步更新ui的解决办法:Activity.runOnUi...
    99+
    2023-05-31
    android roi
  • Android开发中如何实现强制更新APP
    这篇文章给大家介绍Android开发中如何实现强制更新APP,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android应用强制更新的用途十分广泛,特别上刚上线的应用肯定会存在或多或少的bug,特别是涉及移动支付这一块...
    99+
    2023-05-31
    android pp roi
  • 详解Angular组件数据不能实时更新到视图上的问题
    目录问题起源OnPush策略当前组件或子组件之一触发了事件总结问题起源 MainComponent: @Component({ selector: 'main', ...
    99+
    2022-11-13
    Angular组件数据实时更新视图 Angular 更新视图
  • Android更新UI的四种方法详解
    前言 相信每位Android开发者们都知道更新UI只能在主线程中进行,若是在子线程执行任务后需要更新UI,则需要借助handler跳转到主线程中。以下介绍几种操作UI的方法。 ...
    99+
    2022-06-06
    方法 Android
  • Android UI更新的几种方法总结
     Android UI更新 做过Android开发的人都遇到过这样的问题:随着需求的变化,某些入口界面会出现UI的增减、内容变化和跳转界面变化等问题,这里就说明几种方...
    99+
    2022-06-06
    方法 Android
  • 详解Android UI更新的几种方法
    前言在android开发中,界面UI的更新都是在主线程来完成的。线程分为主线程(Main Thread,简称MT)和工作线程(Work Thread,简称WT),我们通常会在WT中执行一些比较耗时的操作,比如下载,网络,缓存...
    99+
    2023-05-31
    ndroid ui 更新
  • Vue对象和数据的强制更新方式
    目录对象和数据的强制更新数组更新强制更新更新数据并强制更新视图对象类型数组类型异步类型强制更新对象和数据的强制更新 数组更新 以下支持自动更新 push() //向后添加pop() ...
    99+
    2024-04-02
  • 解决vue中数据更新视图不更新问题this.$set()方法
    目录vue数据更新视图不更新解决问题vue数据不更新的原因(数据更改了,但是视图没有更新)解决办法具体流程如下数组更新检测注意事项对象更改检测注意事项vue数据更新视图不更新 1.d...
    99+
    2024-04-02
  • 说说Android的UI刷新机制的实现
    本文主要解决以下几个问题: 我们都知道Android的刷新频率是60帧/秒,这是不是意味着每隔16ms就会调用一次onDraw方法? 如果界面不需要重绘,那么16ms到...
    99+
    2022-06-06
    Android
  • 刷新物化视图的方法
    DBMS_MVIEW provides three different types of refresh operations. DBMS_MVIEW.REFRESHRefresh one or more ...
    99+
    2024-04-02
  • SAP页面视图的UI模型怎么实现
    本篇内容介绍了“SAP页面视图的UI模型怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!工作中心:Sales工作中心视图:Sales ...
    99+
    2023-06-03
  • Angular开发问题记录:组件数据不能实时更新到视图上
    工作中碰到一个问题:Angular组件数据不能实时更新到视图上,问题本身比较容易解决,但还是总结记录一下。先来说一下起因吧。【相关教程推荐:《angular教程》】问题起源MainComponent:@Component({ selec...
    99+
    2023-05-14
    Angular
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作