4、$watch的用法

淡淡的烟草味﹌ 2022-08-23 08:23 161阅读 0赞

1、$watch的用法

  1. 1.1 利用$watch来观察对象属性数值的变化
  2. 1.$watch来观察,iphone.money的改变
  3. 2.iphone.money表示,而不是$scope.iphone.money
  4. 3.要加单引号'iphone.money'
  5. 4.代码
  6. <!DOCTYPE html>
  7. <html ng-app>
  8. <head>
  9. <meta charset="UTF-8">
  10. <title>购物金额的计算</title>
  11. <script type="text/javascript" src="../js/angular.min.js"></script>
  12. <script type="text/javascript">
  13. function Aaa($scope) {
  14. $scope.iphone = {
  15. money: 5,
  16. num: 1,
  17. fre: 10
  18. }
  19. $scope.sum = function() {
  20. return $scope.iphone.money * $scope.iphone.num;
  21. }
  22. /*用$watch来观察,iphone.money的改变*/
  23. /*1、用iphone.money表示,而不是$scope.iphone.money
  24. 2、要加单引号'iphone.money'
  25. * */
  26. $scope.$watch('iphone.money', function(newVal, oldVal) {
  27. console.log(newVal);
  28. console.log(oldVal);
  29. });
  30. }
  31. </script>
  32. </head>
  33. <body>
  34. <div ng-controller="Aaa">
  35. <p>价格:<input type="text" ng-model="iphone.money" /></p>
  36. <p>个数:<input type="text" ng-model="iphone.num" /></p>
  37. <p>费用:<span>{
  38. {sum() | currency:"¥"}}</span></p>
  39. </div>
  40. </body>
  41. </html>
  42. 1.2 利用 $watch来观察对象的变化
  43. 1.$watch来观察,iphone的改变
  44. 2.iphone表示,而不是$scope.iphone
  45. 3.要加单引号'iphone'
  46. 4.第三个参数要为true
  47. 5.代码
  48. <!DOCTYPE html>
  49. <html ng-app>
  50. <head>
  51. <meta charset="UTF-8">
  52. <title>购物金额的计算</title>
  53. <script type="text/javascript" src="../js/angular.min.js"></script>
  54. <script type="text/javascript">
  55. function Aaa($scope) {
  56. $scope.iphone = {
  57. money: 5,
  58. num: 1,
  59. fre: 10
  60. }
  61. $scope.sum = function() {
  62. return $scope.iphone.money * $scope.iphone.num;
  63. }
  64. /*用$watch来观察,iphone的改变*/
  65. /*1、用iphone表示,而不是$scope.iphone
  66. 2、要加单引号'iphone'
  67. 3、第三个参数要为true
  68. * */
  69. $scope.$watch('iphone', function(newVal, oldVal) {
  70. console.log(newVal);
  71. console.log(oldVal);
  72. }, true);
  73. }
  74. </script>
  75. </head>
  76. <body>
  77. <div ng-controller="Aaa">
  78. <p>价格:<input type="text" ng-model="iphone.money" /></p>
  79. <p>个数:<input type="text" ng-model="iphone.num" /></p>
  80. <p>费用:<span>{
  81. {sum() | currency:"¥"}}</span></p>
  82. </div>
  83. </body>
  84. </html>
  85. 1.3 利用 $watch来观察函数返回数值的变化
  86. 1.$watch来观察,$scope.sum函数返回数值的改变
  87. 2.$scope.sum表示
  88. 3.不要加单引号,$scope.sum
  89. 4.代码
  90. <!DOCTYPE html>
  91. <html ng-app>
  92. <head>
  93. <meta charset="UTF-8">
  94. <title>购物金额的计算</title>
  95. <script type="text/javascript" src="../js/angular.min.js"></script>
  96. <script type="text/javascript">
  97. function Aaa($scope) {
  98. $scope.iphone = {
  99. money: 5,
  100. num: 1,
  101. fre: 10
  102. }
  103. $scope.sum = function() {
  104. return $scope.iphone.money * $scope.iphone.num;
  105. }
  106. /*用$watch来观察,$scope.sum函数返回数值的改变*/
  107. /*1、用$scope.sum表示
  108. 2、不要加单引号,$scope.sum
  109. * */
  110. $scope.$watch($scope.sum, function(newVal, oldVal) {
  111. console.log(newVal);
  112. console.log(oldVal);
  113. });
  114. }
  115. </script>
  116. </head>
  117. <body>
  118. <div ng-controller="Aaa">
  119. <p>价格:<input type="text" ng-model="iphone.money" /></p>
  120. <p>个数:<input type="text" ng-model="iphone.num" /></p>
  121. <p>费用:<span>{
  122. {sum() | currency:"¥"}}</span></p>
  123. </div>
  124. </body>
  125. </html><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>

发表评论

表情:
评论列表 (有 0 条评论,161人围观)

还没有评论,来说两句吧...

相关阅读

    相关 vue中watch相关

    Vue中watch用法 当需要在数据变化时执行异步或开销较大的操作时,使用侦听器 `watch` 的方式是最有用的 监听某一数据的变化 监听对象或数组的变化

    相关 VUE中watch

    一、 watch是什么? 监测 Vue 实例变化的一个表达式或方法。回调函数得到的参数为新值和旧值,用一个函数取代。 简洁的说:watch的作用可以监控一个值的变换,