![]() |
![]() |
![]()
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)
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. !? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 14 Dołączył: 25.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
$watch odpali Ci sie zawsze po zmianie wartosci firstName, co do funkcji fire to ta funkcja WYKONA SIE OD POCZATKU DO KONCA, a dopiero potem - jezeli przez w tej funkcji nastapi zmiana wartosci firstName to odpali sie watch, wiec majac cos takiego:
po wykonaniu funkcji fire zmienna $scope.stop zawsze bedzie miala wartosc false ----- Proste wytlumaczenie jak odpalaja Ci sie funkcje: Poczatkowo pole masz puste, np. wpiszesz 1 znak -> odpali sie $watch, wpiszesz drugi znak -> odpali sie $watch itd. ($scope. stop jest domyslnie ustawiony na true, wiec nie wyrzuci Ci nic do konsoli) Klikajac na przycisk odpalisz funkcje fire() -> wykona sie ona cala, czyli za kazdym razem po zakonczeniu wykonania funkcji fire() $scope.stop bedzie mialo wartosc false Po tym wykona sie $watch i wtedy juz wyswietli Ci w konsoli wiadomosc -> kazda kolejna zmiana w polu spowoduje to samo, gdyz $scop.stop juz caly czas bedzie mialo wartosc false |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:01 |