日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

angularjs 的笔记

發布時間:2025/7/14 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 angularjs 的笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

angular.copy()深拷貝

angular提供了一個可以復制對象的api——copy(source,destination),它會對source對象執行深拷貝。

使用時需要注意下面幾點:

  • 如果只有一個參數(沒有指定拷貝的對象),則返回一個拷貝對象
  • 如果指定了destination,則會深拷貝對象復制給destination
  • 如果source是null或者undefined,那么會直接返回source
  • 如果source就是desitination,那么會報錯。

angular.equals()比較對象

AngularJS中的angular.equals()方法用于比較兩個對象、值或表達式是否相等。AngularJs文檔中對equals方法比較的原則是這樣描述的:

(1)比較的兩個對象或值能夠通過 === 表達式。===要求兩個值不僅值相同,類型也要相同,也就是說,1 === “1”是不成立 的。

(2)比較的兩個對象或值是相同類型的,而且它們所有的屬性通過angular.equals()方法判斷都是相等的。

(3)兩個值都為(NaN)。(在JavaScript中認為NaN == NaN是false)

(4)兩個值代表字面上相等的表達式,如兩個正則表達式:/abc/與/abc/是相等的。

angular $apply()

$apply方法傳播Model的變化。

那我們到底什么時候需要去調用apply()方法呢?情況非常少,實際上幾乎我們所有的代碼都包在scope.apply()里面,像ng?click,controller的初始化,http的回調函數等。在這些情況下,我們不需要自己調用,實際上我們也不能自己調用,否則在apply()方法里面再調用apply()方法會拋出錯誤。如果我們需要在一個新的執行序列中運行代碼時才真正需要用到它,而且當且僅當這個新的執行序列不是被angular JS的庫的方法創建的,這個時候我們需要將代碼用scope.apply()包起來。

?

我是這樣理解的該函數用于更新view的value,當需要變更view values時,需要調用該方法。典型地,這個函數由DOM的事件處理函數來調用。

比如,一個input directive在當它的input變更時就會調用$setViewValue,再比如:select控件在當一個option被選擇時也會調用這個函數更新view value。

  • $render();

當視圖需要更新的時候會被調用。使用ng-model的指令應該自行實現這個方法。

  • $isEmpty(value);

該方法用于判斷輸入值是否為空。?
例如,使用ngModelController的指令需要判斷其中是否有輸入值的時候會使用該方法。該方法可用來判斷值是否為undefined,'',null或者NaN。?
你可以根據自己的需要重載該方法。

  • $setValidity(validationErrorKey, isValid);

該方法用于改變驗證狀態,以及在控制變化的驗證標準時通知表格。?
這個方法應該由一個驗證器來調用。例如,一個解析器或者格式化函數。

  • $setPristine();

該方法用于設置控制到原始狀態。?
該方法可以移除'ng-dirty'類并將控制恢復到原始狀態('ng-pristine'類)。

  • $cancelUpdate();

該方法用于取消一次更新并重置輸入元素的值以防止$viewCalue發生更新,它會由一個pending debounced事件引發或者是因為input輸入框要等待一些未來的事件。

?

  • $setViewValue();

該方法用于是為了在指令中改變ng-model綁定的值,適用于使用了獨立作用域的指令(在沒有雙向綁定屬性的情況下,無法通過scope進行賦值)。

  .run()

  run方法用于初始化全局的數據,僅對全局作用域起作用。   只執行一次,緩存起來

 .link:function(scope,elm.attrs ,ctrl){}

  scope:輸出一個作用域,這個作用域是由Controller決定的,如果沒有定義,是空值。

  elm:輸出一個元素數組,數組中的每個元素是調用directive的DOM樹

  attrs:輸出一個Object, Object內是該DOM元素的各種屬性方法

  ctrl:輸出一個Object,是對應的controller



轉載于:https://www.cnblogs.com/qianmojing/p/6129824.html

總結

以上是生活随笔為你收集整理的angularjs 的笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。