表單控制變數
form 控制變數
//css樣式字段是否未更改
fromname.inputfieldname.$pristine
//字段是否更改
fromname.inputfieldname.$dirty
//字段有效
fromname.inputfieldname.$valid
//字段無效
fromname.inputfieldname.$invalid
//字段錯誤資訊
fromname.inputfieldname.$error
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 上轉型物件不能操作子類新增的成...