$watch是什麼?
使用$watch可以指定監控的範圍,一旦範圍內的value發生改變,所有地方都會自動更新,
用來確保view和model的即時綁定,當view或model改變時,就會觸發事件。
由於$watch、ng-change、ng-click這三個指令的效果有點類似,
所以本次範例將應用這三個指令,做相同的功能,以利比較差異程度。
Demo:
http://jsbin.com/oHIXIqa/3/edit
此範例的功能是,一旦輸入框輸入內容,就會觸發行為。
$watch、ng-change、ng-click的比較
範例中$watch和ng-change的結果相同,
但使用$watch指令,watch的值還會傳回newValue,oldValue,
提供“改變的新數值”和“前一次改變的舊數值”。
$watch和ng-change是在改變內容值的時候,觸發事件,ng-click則只會在點擊輸入框時被執行。
$watch怎麼用?
在欲監控的的標籤下,給定model名稱,用來綁定內容,範例中是給輸入框名稱為"test1"的model
使用$watch指令,決定監控的model內容,監控內容發生改變後,並接著執行function。
$scope.$watch('test1', function(newValue, oldValue) {
//這裡輸入觸發$watch之後,欲觸發的行為
},true);
完整的Demo:
http://jsbin.com/oHIXIqa/3/edit
參考連結:
http://stackoverflow.com/questions/15664933/basic-watch-not-working-in-angularjs
第二章 Angular應用程序剖析
https://github.com/basestyle/angularjs-cn/blob/master/Chapter2.markdown
Using scope.$watch and scope.$apply
http://stackoverflow.com/questions/15112584/using-scope-watch-and-scope-apply
[AngularJS系列(3)] View-Model雙向綁定背後的故事
http://hellobug.github.io/blog/angularjs-two-ways-binding/
---------------入門AngularJS筆記---------------
Day30- 入門AngularJS筆記-directive
http://ithelp.ithome.com.tw/question/10140689Day29- 入門AngularJS筆記-filter
http://ithelp.ithome.com.tw/question/10140497Day28- 入門AngularJS筆記-AngularJS指令(24): ng-mouseover
http://ithelp.ithome.com.tw/question/10140351Day27- 入門AngularJS筆記-AngularJS指令(23): ng-form
http://ithelp.ithome.com.tw/question/10140193Day26- 入門AngularJS筆記-AngularJS: angularJS與form的應用
http://ithelp.ithome.com.tw/question/10140147Day25- 入門AngularJS筆記-AngularJS指令(22) ng-style
http://ithelp.ithome.com.tw/question/10140067Day24- 入門AngularJS筆記-AngularJS指令(21) $watch
http://ithelp.ithome.com.tw/question/10139851Day23- 入門AngularJS筆記-AngularJS指令(20) ng-blur與ng-focus
http://ithelp.ithome.com.tw/question/10139721Day22- 入門AngularJS筆記-AngularJS指令(19) ng-class
http://ithelp.ithome.com.tw/question/10139571Day21- 入門AngularJS筆記-AngularJS指令(18) ng-bind-html
http://ithelp.ithome.com.tw/question/10139381Day20- 入門AngularJS筆記-AngularJS指令(17) ng-bind-template
http://ithelp.ithome.com.tw/question/10139077Day19- 入門AngularJS筆記-AngularJS指令(16) ng-cloak
http://ithelp.ithome.com.tw/question/10139014Day18- 入門AngularJS筆記-AngularJS指令(15) ng-bind
http://ithelp.ithome.com.tw/question/10138821Day17- 入門AngularJS筆記-AngularJS的timeout應用
http://ithelp.ithome.com.tw/question/10138627Day16- 入門AngularJS筆記-AngularJS指令(14): ng-checked
http://ithelp.ithome.com.tw/question/10138409Day15- 入門AngularJS筆記-AngularJS的MVC應用筆記
http://ithelp.ithome.com.tw/question/10137781Day14- 入門AngularJS筆記-AngularJS指令(13): ng-href
http://ithelp.ithome.com.tw/question/10137625Day13- 入門AngularJS筆記-AngularJS指令(12): ng-src
http://ithelp.ithome.com.tw/question/10137296Day12- 入門AngularJS筆記-AngularJS指令(11): ng-include
http://ithelp.ithome.com.tw/question/10136841Day11- 入門AngularJS筆記-AngularJS指令(10): ng-change
http://ithelp.ithome.com.tw/question/10136545Day10- 入門AngularJS筆記-AngularJS指令(9): ng-switch
http://ithelp.ithome.com.tw/question/10136011Day9- 入門AngularJS筆記-AngularJS指令(8): select的ng-options
http://ithelp.ithome.com.tw/question/10135776Day8- 入門AngularJS筆記-AngularJS指令(7): input
http://ithelp.ithome.com.tw/question/10135378Day7- 入門AngularJS筆記-AngularJS指令(6): ng-repeat
http://ithelp.ithome.com.tw/question/10134889Day6- 入門AngularJS筆記-AngularJS指令(5): ng-init
http://ithelp.ithome.com.tw/question/10134415Day5- 入門AngularJS筆記-AngularJS指令(4): ng-show
http://ithelp.ithome.com.tw/question/10133625Day4- 入門AngularJS筆記-AngularJS指令(3): ng-click
http://ithelp.ithome.com.tw/question/10133576Day3- 入門AngularJS筆記-AngularJS指令(2): ng-controller
http://ithelp.ithome.com.tw/question/10133017Day2- 入門AngularJS筆記-AngularJS指令(1): ng-model
http://ithelp.ithome.com.tw/question/10132601Day1- 入門AngularJS筆記與前端領域的學習筆記分享介紹
http://ithelp.ithome.com.tw/question/10132196