W pierwsza część tego artykułu o CoffeeScript, widziałeś jego podstawowe możliwości; ale bądźmy szczerzy, większość czasu używamy biblioteki jQuery, aby pomóc nam napisać nasz skrypt JavaScript, a to, co pokazałem wam w pierwszej części, to tylko vanilla JavaScript.

W tej części dołączymy do CoffeeScript, LocalStorage i jQuery, aby stworzyć prostego menedżera kontaktów, w którym możemy zapisać czyjś numer, nazwisko, a także sprawdzić, czy ta osoba jest przyjacielem, a przy pomocy LocalStorage ten menedżer kontaktów zapisze twoje kontakty, kiedy odśwież swoją stronę.

Możesz zobaczyć demo tego, co będziemy w tym tworzyć wersja demo, którą zbudowałem.

HTML

Jak widzieliście w wersji demonstracyjnej, nasz HTML będzie miał formę i był pusty

    które wypełnimy później nazwami i liczbami:

      Mimo że ten formularz ma metodę i działanie, później zablokujemy domyślną akcję za pomocą JavaScriptu, aby uniemożliwić jej ponowne załadowanie strony i przeskoczenie po jej przesłaniu. Zamiast tego wypełnimy listę liczb nieuporządkowanych, korzystając z danych wejściowych formularza.

      The CoffeeScript

      Teraz zajmiemy się najlepszą częścią tego artykułu: rozmawiamy o programach CoffeeScript i jQuery, dwóch narzędziach, które sprawiły, że nasz JavaScript jest prostszy i bardziej produktywny.

      Zastanówmy się, co chcemy, aby ta aplikacja działała w punktach przed kodowaniem:

      • Dodaj klasę zaznaczoną, jeśli pole wyboru jest zaznaczone i usuń ją, jeśli nie;
      • sprawdź zdarzenie kliknięcia na przycisku przesyłania;
      • uzyskać wartości numeru i nazwy;
      • umieść te wartości na naszej stronie;
      • dodaj wszystkie nazwiska i numery do LocalStorage;
      • usuń wszystko, co wpisaliśmy w formularzu;
      • uniemożliwić przesłanie formularza;
      • odczytać i wyświetlić wszystkie dane przechowywane w LocalStorage.

      Teraz wszystko mamy proste, możemy zacząć od początku. Aby dodać sprawdzoną klasę, musimy sprawdzić kliknięcie, a następnie przełączyć klasę na każdą klasę, już widzieliśmy jak konstruować funkcje w CoffeeScript w części 1, więc:

      $('#friend').click -> $(this).toggleClass 'checked'

      Następną rzeczą, którą musimy zrobić, jest sprawdzenie kliknięcia przycisku "Prześlij" i zapisanie pewnych zmiennych, które będą nam potrzebne w dalszej części drogi:

      $('#submit').click ->ul = $('#numbers')number = $('#number').val()name = $('#name').val()

      W tym kroku zdefiniowaliśmy naszą funkcję i zmienne, których potrzebujemy później, zmienna ul zawiera listę nieuporządkowaną, która będzie zawierać wszystkie nazwy i numery, a kolejne dwa będą zapisywać to, co wpisujemy na danych wejściowych.

      Jest to część, w której pobieramy wszystkie wartości, które mamy, i przygotowujemy element listy dla każdego numeru, który mamy. Pamiętajmy, że chcemy stylizować rzeczy nieco inaczej, jeśli kontakt jest przyjacielem, więc sprawdzimy klasę pola wyboru i odpowiednio dodamy różne klasy do naszych pozycji na liście. W tym celu użyjemy prostej instrukcji if , jak opisano w części 1:

      if $('#friend').hasClass 'checked'$(ul).prepend '
    • Name: ' + name + '
      Number: ' + number + '
    • 'else$(ul).prepend '
    • Name: ' + name + '
      Number: ' + number + '
    • '

      Podstawa naszej aplikacji jest gotowa, ale po przeładowaniu strony zobaczysz, że wszystkie numery zniknęły, więc musimy dodać zawartość numerów do LocalStorage, a my nazwiemy to kontaktami:

      localStorage.setItem 'contacts', $(ul).html()

      To, co robimy, to nazywanie tego, co chcemy najpierw zapisać, a następnie po przecinku deklarujemy wartość do zapisania. w takim przypadku zapiszemy zawartość nieuporządkowanej listy.

      Po wykonaniu tej linii mamy wszystkie liczby i nazwy w LocalStorage, dodajmy więc ostatnie poprawki do funkcji, resetując formularz, a następnie zwracając wartość false, aby upewnić się, że strona nie zostanie ponownie załadowana:

      $("form")[0].reset()return false 

      Ta funkcja jest teraz zakończona i wszystko, co musimy teraz zrobić, to sprawdzić, czy mamy coś w LocalStorage z nazwą kontaktów, a jeśli tak, musimy po prostu umieścić to na stronie:

      if localStorage.getItem 'contacts'$('#numbers').html localStorage.getItem 'contacts'

      Wszystko, co robimy, to sprawdzenie, a następnie umieszczenie zawartości tego elementu na stronie. Z tym ostatnim dotknięciem nasz mały menedżer kontaktów jest gotowy, a cały kod kawy został użyty:

      $('#friend').click -> $(this).toggleClass 'checked'$('#submit').click ->ul = $('#numbers')number = $('#number').val()name = $('#name').val()if $('#friend').hasClass 'checked'$(ul).prepend '
    • Name: ' + name + '
      Number: ' + number + '
    • 'else$(ul).prepend '
    • Name: ' + name + '
      Number: ' + number + '
    • 'localStorage.setItem 'contacts', $(ul).html()$("form")[0].reset();return falseif localStorage.getItem 'contacts'$('#numbers').html localStorage.getItem 'contacts'

      A jeśli uruchomimy ten kod przez kompilator, otrzymamy następujący kod JavaScript:

      $('#friend').click(function() {return $(this).toggleClass('checked');});$('#submit').click(function() {var name, number, ul;ul = $('#numbers');number = $('#number').val();name = $('#name').val();if ($('#friend').hasClass('checked')) {$(ul).prepend('
    • Name: ' + name + '
      Number: ' + number + '
    • ');} jeszcze {$(ul).prepend('
    • Name: ' + name + '
      Number: ' + number + '
    • ');} localStorage.setItem ("kontakty", $ (ul) .html ()); $ ("formularz") [0] .reset (); return false;}); if (localStorage.getItem ("kontakty")) {$('#numbers').html(localStorage.getItem('contacts'));}

      Porównajcie obydwa, widzimy, że CoffeeScript ma 587 słów i 14 linii, podczas gdy JavaScript ma 662 słowa i 21 linii, a jeśli porównamy czytelność, zauważymy, że CoffeeScript jest znacznie bardziej czytelny niż odpowiednik JavaScriptu. Jeśli w tym typie prostej aplikacji CoffeeScript może zaoszczędzić 7 linii kodu, wyobraź sobie, ile zaoszczędziłoby to w pełnej wersji aplikacji!

      Wniosek

      Mam nadzieję, że ten artykuł dał ci lepsze wyobrażenie o CoffeeScript i o tym, jak może poprawić twoje codzienne kodowanie JavaScript. Kod napisany w tym artykule nie ma być najczystszym lub najłatwiejszym JavaScriptem, raczej miał być zilustrowany za pomocą CoffeeScript. Mam nadzieję, że teraz możesz zobaczyć, jak potężne jest to w jQuery i rozważasz używanie tego świetnego języka w codziennym kodowaniu, ponieważ na pewno zaoszczędzisz wielu godzin pisania.

      Czy używasz CoffeeScript? Jak przydatne jest codzienne? Daj nam znać w komentarzach.

      Wyróżniony obraz / miniatura, obraz kawy przez Shutterstock.