1. 程式人生 > >angular4 變更檢查機制

angular4 變更檢查機制

程式碼塊中ts資料進行了更新,view檢視保持不變
可以引入angular4的 ChangeDetectorRef
該方法有以下幾種方法:

class ChangeDetectorRef {
  markForCheck(): void
  detach(): void
  detectChanges(): void
  checkNoChanges(): void
  reattach(): void
}`
  1. markForCheck()方法有時候在angular的zone之後。會不生效
  2. detectChanges()
    檢查一遍 變化檢測器 (change detector) 和它的子檢測器。可以配合 ChangeDetectorRef 來實現區域性變化檢查。有些時候,對於更新頻繁資料量又很大的列表,我們不想 angular 在列表變化的時候馬上更新檢視,我們可以手動去呼叫 detectChanges 方法,去強制 angular 檢查 元件資料的變化。這樣一來,就可以實現自主控制檢視更新頻率,而不用擔心有太大的效能問題了。
  3. checkNoChanges()
    檢測該元件及其子元件,如果有變化存在則報錯,用於開發階段二次驗證變化已經完成。
  4. detach()
    從變化檢測樹中分離變化檢測器,該元件的變化檢測器將不再執行變化檢測,除非手動呼叫 reattach() 方法。當我們在元件上呼叫 ChangeDetectorRef 的 detach 方法之後,angular 在該元件資料發生變化的時候,不再執行更新檢視等操作。
  5. reattach()
    重新新增已分離的變化檢測器,使得該元件及其子元件都能執行變化檢測。讓 angular 在元件資料發生變化的時候重新檢測該元件的變化,在該元件資料變化的時候,執行如更新檢視的操作。
 if (value) {
      this.ChangeDetectorRef.reattach();
    } else {
      this.ChangeDetectorRef.detach();
    }

“`

相關推薦

angular4 變更檢查機制

程式碼塊中ts資料進行了更新,view檢視保持不變 可以引入angular4的 ChangeDetectorRef 該方法有以下幾種方法: class ChangeDetectorRef { markForCheck(): void deta

$apply方法(觸發臟檢查機制

oct -1 alt module img rip ++ bsp area $swatch監聽方法 <!DOCTYPE html> <html><head lang="en"> <meta charset="UTF-8"&

angular臟檢查機制

iges 循環 dom元素 最新 通過 當前 spp 視圖 watch   機制:     是angular中雙向數據綁定的原理,是通過一個原先的舊值和當前的新值作比較是否相等,如果相等則不會觸發臟檢查機制,如果不相等則會觸發臟檢查機制,$$watcher進行監聽,觸發新老

一文讀懂架構師都不知道的isinstance檢查機制

Python起步通過內建方法 isinstance(object, classinfo) 可以判斷一個對象是否是某個類的實例。但你是否想過關於鴨子協議的對象是如何進行判斷的呢? 比如 list 類的父類是繼 object 類的,但通過 isinstance([], typing.Iterable) 返回的卻是

WPF 窗口居中 & 變更觸發機制

ech return nsa 因此 false 附加 lba bsp param 原文:WPF 窗口居中 & 變更觸發機制窗口居中 & 變更觸發機制 解決: 1。單實例窗口,窗口每次隱藏後再顯示時,位置居中顯示 2。多屏幕下單實例窗口,當父窗口移動到其

React Native之屬性類型檢查機制詳解 PropType 變成 prop-types

word man div color object platform UC 靜態 ESS 屬性確認的作用 使用 React Native 創建的組件是可以復用的,所以我們開發的組件可能會給項目組其他同事使用。但別人可能對這個組件不熟悉,常常會忘記使用某些屬性,或者某些屬性傳

SQL Server 版本變更檢查 警告

  SQL Server 版本變更檢查 警告 1,退出安裝程式, 2,通過開始-->執行-->cmd 3,輸入你的 安裝程式(step.exe)的路徑+ 空格+SKUUPG

Hibernate 髒資料檢查機制與資料快取

一. 髒資料檢查機制 髒資料:   髒資料並非廢棄或者無用的資料,而是指一個數據物件所攜帶的資訊發生了改變之後的狀態.            如果我們從資料庫中讀取一個物件

使用髒檢查機制實現資料的雙向繫結

1.實現效果: input標籤的值一變化,底下的p標籤的內容就跟著變化。 2.實現思路: 首先,angular得把我的舊資料記下來的吧。 angular的雙向繫結依賴髒檢查機制。為要雙向繫結的資料進行註冊,註冊到$scope上。($scope是a

Netflix遮蔽代理怎麼辦,親測可以這樣繞過Netflix(奈飛)代理檢查機制

之前自建了一個,剛剛看Netflix一個星期就被Netflix給封了代理IP,只能感慨Netflix代理檢測技術太強大,普通的代理真的扛不住。 最後還是買了一個國外的服務,誰叫人家IP地址多呢,30000多個ip,反Netfli遮蔽技術也很厲害,電腦手機都能用。 Netflix遮蔽代理

【AngularJS】髒檢查機制及$timeout的妙用

||瀏覽器事件迴圈和Angular的MVW         “髒檢查”是Angular中的核心機制之一,它是實現雙向繫結、MVVM模式的重要基礎。         Angular將雙向繫結轉換為一堆w

Spring Cloud系列教程 | 第三篇:Eureka心跳健康檢查機制

推薦 Spring Cloud 視訊: Eureka心跳健康檢查機制 執行階段執行健康檢查的目的是為了從Eureka伺服器登錄檔中識別並刪除不可訪問的微服務,Eureka 伺服器並不是向客戶端傳送心跳請求,而是反過來,Eureka 客戶端將心跳傳送到Eurek

Linux核心模組符號CRC檢查機制

crc(void, 0xffffffff) = 0x2d842611 crc( , 0x2d842611) = 0x51f3841c crc(my_func_comp_p, 0x51f3841c) = 0x3cde0c75 crc( , 0x3cde0c75) = 0x1b3d7b77 crc((, 0x1b

Angularjs與Angular對髒檢查機制的理解

“髒檢查”是Angular中的核心機制之一,它是實現雙向資料繫結、MVVM模式的重要基礎。 AngularJS常用函式:$apply,$watch及$digest $digest是一個內部函式,正常的應用程式碼中是不應該直接呼叫它的。要想主動觸發它,就要呼叫scope.$

適配android6.0:執行時許可權檢查機制

前言 清明放假終於結束了,趕緊寫點東西來脈動回來。這是一篇偏概念性的文章,文字偏多,所以別捉急,慢慢看。 現在高版本的android系統市場佔有率提升的非常快,這依賴於智慧手機越來越便宜,越來越普遍,新手機一般都會搭載高版本的android系統,來豐富使用者

Zookeeper的watcher資料變更通知機制

在zookeeper中,引入了watcher機制來通知客戶端,服務端的節點資訊發生了變化。其允許客戶端向服務端註冊一個watcher監聽, 當服務端的一些指定事件觸發了這個watcher,就會向指定的客戶端傳送一個事件通知。 zookeeper的watcher機制主要包括

SqlServer2005 SQL Server 版本變更檢查 警告解決方法

SqlServer2005 SQL Server 版本變更檢查 警告 右鍵單擊setup.exe檔案,選擇屬性—>相容性 選中用相容模式執行這個程式 在其下拉列表中選擇 windows vista,然後選擇下面的以管理員身份執行該程式,問題就解決了。

檢查機制$dirty checking

$apply()和$digest()在中是兩個核心概念,但是有時候它們又讓人困惑。而為了瞭解AngularJS的工作方式,首先需要了解$apply()和$digest()是如何工作的。這篇文章旨在解釋$apply()和$digest()是什麼,以及在日常的編碼中如何應用它

螞蟻SOFA系列(2) - SOFABoot的Readiness健康檢查機制

作者:404,公眾號404P,轉載請註明出處。 前言 SOFABoot是螞蟻金服的開源框架,在原有Spring Boot的基礎上增強了不少能力,例如Readiness Check,類隔離,日誌空間隔離等能力。除此之外,SOFABoot還可以方便的整合SOFA技術棧所包含的各類中介軟體。如果想要對SOFAB

[Kubernetes]容器健康檢查和恢復機制

file ima star 同時 bob bsp ber pan 出現   在Kubernetes中,可以為Pod裏的容器定義一個健康檢查探針(Probe),這樣Kubernetes會根據這個Probe的返回值決定這個容器的狀態,而不是直接以容器是否允許(來自Docker返