angualrjs 總結 隨記 二

2022-02-21 06:40:47 字數 3406 閱讀 1843

表單控制變數

form 控制變數

//

字段是否未更改

fromname.inputfieldname.$pristine

//字段是否更改

fromname.inputfieldname.$dirty

//字段有效

fromname.inputfieldname.$valid

//字段無效

fromname.inputfieldname.$invalid

//字段錯誤資訊

fromname.inputfieldname.$error

css樣式

ng-valid 表單驗證通過時的設定

ng-invalid 表單驗證失敗時的設定

ng-pristine 表單未被動之前擁有

ng-dirty 表單被動後之後擁有

自定義表單驗證

自定義表單驗證ngmodel屬性總結

$parsers     儲存了從viewvalue向modelvalue繫結過程中的處理器函式,它們將來會依次執行

$formatters    儲存了從 modelvalue向viewvalue繫結過程中的處理器函式

$setviewvalue  當view發生了某件事情時,從view向model繫結呼叫$setviewvalue把viewvalue儲存下來

$render      當模型發生變化時,應該怎麼去更新檢視,從model向view繫結,呼叫ctrl.$render方法,將viewvalue渲染到頁面上

$setvalidity    設定驗證結果

$viewvalue     檢視的值

$modelvalue    模型裡的值

$scope繫結事件之$on方法和$emit,$broadcast

function

democtrl($scope))

}

檢視

//向同級以上dom所在的作用域傳遞,就是說只有同級以上的dom裡訪問才能訪問到count屬性

<

button

ng-click

="$emit('myevent')"

>

button

>

//向同級以下dom所在的作用域傳遞,同理只有同級以下的dom裡訪問才能訪問到count屬性

利用ngmodel相關屬性及方法自定義表單驗證指令

ngmodel裡的屬性總結 已經在上面提到了

下面這是乙個 只能輸入偶數的驗證指令(自定義表單驗證 $setvalidaity )

angular關於表單指令的彙總

input 屬性

name

ng-model

ng-required

ng-minlength

ng-maxlength

ng-pattern 匹配模式

ng-change 值變化時的**

ngmodelcontroller的方法和屬性的使用

ngmodelcontroller方法

$render();

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

$isempty(value);

該方法用於判斷輸入值是否為空。

例如,使用ngmodelcontroller的指令需要判斷其中是否有輸入值的時候會使用該方法。該方法可用來判斷值是否為undefined,'',null或者nan。

你可以根據自己的需要過載該方法。

$setvalidity(validationerrorkey, isvalid);

該方法用於改變驗證狀態,以及在控制變化的驗證標準時通知**。

這個方法應該由乙個驗證器來呼叫。例如,乙個解析器或者格式化函式。

$setpristine();

該方法用於設定控制到原始狀態。

該方法可以移除'ng-dirty'類並將控制恢復到原始狀態('ng-pristine'類)。

$cancelupdate();

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

ngmodelcontroller中的屬性

$viewvalue

檢視中的實際值

$modelvalue

model中的值,它金額控制器繫結在一起

$parsers

將要執行的函式的陣列,無論什麼時候控制器從dom中讀取了乙個值,它都將作為乙個管道。其中的函式依次被呼叫,並將結果傳遞給下乙個。最後出來的值將會被傳遞到model中。其中將包括驗證和轉換值的過程。

對於驗證步驟,這個解析器將會使用$setvalidity方法,對於不合格的值將返回undefined。

$formatters

乙個包含即將執行函式的陣列,無論什麼時候model的值發生了變化,它都會作為乙個管道。其中的每乙個函式都被依次呼叫,並將結果傳遞給下乙個函式。該函式用於將模型傳遞給檢視的值進行格式化。

$viewchangelisteners

只要檢視的值發生變化,其中的函式就會被執行。其中的函式執行並不帶引數,它的返回值也會被忽略。它可以被用在額外的#watches中。

$error

乙個包含所有error的物件

$pristine

如果使用者還沒有進行過互動,值是true。

$dirty

如果使用者已經進行過互動,值是true。

$valid

如果沒有錯誤,值是true。

$invalid

如果有錯誤,值是true。

指令與控制器互動和復用

指令是用來復用的是用來生成ui元件的。

程式設計隨記 拼包程式(二)

程式設計隨記 拼包程式 二 找來了richard stevens的經典著作 tcp ip祥解 卷1 協議 仔細的 翻閱tcp和ip協議部分。從而發現截獲到的資料報前面包含若干頭 wpcap header ethernet header ip header tcp header data 前面已經分析...

移動產品設計隨記(二)

一 移動網際網路與傳統網際網路區別。傳統網際網路被人看做是工具,移動網際網路產品存在於手機中,被人每天攜帶,被人傾注感情。二 乙個功能流程留給使用者的操作時間上限為5分鐘,超過會使使用者感覺疲勞。三 等待介面不要超過3s,如果3s還沒有資料,那麼可以採用先將介面的框架顯示出來,文字載入優先的形式減少...

Java隨記(二)上轉型物件

假設a類是b類的父類,當用子類建立乙個物件,並把這個物件的引用放到父類的物件中,例如 a a a new b 或a a b b new b a b 這時,稱物件a是物件b的上轉型物件。物件的上轉型物件的實體是子類負責建立的,但上轉型物件會失去原物件的一些屬性和功能。1 上轉型物件不能操作子類新增的成...