Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> watch, [Angular]
smiady
post
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


Witam.

Ostatnio spotkałem się z dziwnym przypadkiem.

Kod jest całościowy, więc można skopiować i przetestować na swoim (potrzebny jest jeszcze plik angular.js)

  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <head>
  4. <meta charset="utf8" />
  5. <title>watch</title>
  6. </head>
  7. <body>
  8. <div ng-app="app">
  9. <div ng-controller="WatchCtrl">
  10. <tr>
  11. <th>
  12. <label for="firstName">firstName</label>
  13. </th>
  14. <td>
  15. <input id="firstName" ng-model="firstName" />
  16. </td>
  17. </tr>
  18. <tr>
  19. <td colspan="2">
  20. <button ng-click="fire()">Fire!</button>
  21. </td>
  22. </tr>
  23. </table>
  24. </div>
  25. </div>
  26.  
  27. <script type="text/javascript" src="angular.js"></script>
  28. <script type="text/javascript">
  29. var module = angular.module('app', []);
  30.  
  31. module.controller('WatchCtrl', function($scope) {
  32. $scope.firstName = '';
  33.  
  34. $scope.stop = true;
  35.  
  36. $scope.$watch('firstName', function(newValue, oldValue) {
  37. if(!$scope.stop) {
  38. console.log('works!');
  39. }
  40. });
  41.  
  42. $scope.fire = function() {
  43. $scope.stop = true;
  44. $scope.firstName = 'change';
  45. $scope.stop = false;
  46. };
  47. });
  48. </script>
  49. </body>
  50. </html>


Zastanawia mnie jak po odpaleniu fire wywali mi konsole works! jak przecież przy zmianie scopa na change mam nałożoną blokadę w postaci zmiennej stop. !?
Go to the top of the page
+Quote Post

Posty w temacie
- smiady   watch   22.12.2015, 18:36:10
- - Rochu   $watch odpali Ci sie zawsze po zmianie wartos...   24.12.2015, 12:33:33


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:37