Wpis z mikrobloga

#webdev #angularjs #programowanie

Mirki mi poleciły angulara więc się wziąłem za czytanie i mi się takie dwa pytania na początek nasunęły:

1. Załóżmy, że będę miał dwa elementy na stronie o takim samym kontrolerze (to możliwe?) - dzielą one jeden $scope czy każdy ma swój?

2. Można robić bardziej zaawansowane templatki, typu includować templatki w templatce, co by można rozdzielić bardziej złożone strony na bardziej czytelne pliki ?
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@koob:

1. Zależy jak to zrobisz, ale jeśli zdefiniujesz sobie dyrektywę z wyizolowanym scopem i dwa razy wstawisz na stronie to będą miały osobny scope

2. Można, jest pełno tutoriali na ten temat
  • Odpowiedz
@Zotek: a co z dynamicznym dodawaniem elementów z ustawionym kontrolerem ? Z tego co czytam to angular "kompiluje" na początku, co z elementami utworzonymi już po kompilacji ?
  • Odpowiedz
@Marmite: Bo wyższość tego rozwiązania nie jest widoczna przy pierwszym spojrzeniu.

React nie oddziela kodu html od kodu js. On oddziela osobne komponenty od siebie. Dzięki temu można je reużywać i komponować ze sobą.

Po pierwsze react umożliwia bardzo łatwe tworzenie skomplikowanych aplikacji - ponieważ unika zarządzania stanem. Przy każdej zmianie cały widok jest renderowany ponownie. Z punktu widzenia programisty wygląda to jakby użycie np. php czyli generowanie za każdym razem
  • Odpowiedz
@archlinuxuser: Brzmi ciekawie. Co prawda dzielenie na reużywalne komponenty daje też Angular, natomiast jest mi naprawdę ciężko wyobrazić sobie że jest to szybsze (ofc nie mówię, że nie jest)
  • Odpowiedz
@koob: może się przydać: jeśli chciałbyś wspólną przestrzeń dla 2 niezależnych elementów możesz zrobić to w ten sposób, że stworzysz dwa elementy A i B jako dyrektywy, a w ich definicji jako require dasz dyrektywę nadrzędną C, która będzie miała swój kontroler. Dzięki temu kontroler dyrektywy C będzie mógł udostępniać jakieś API, czy wspólną przestrzeń dla A i B
  • Odpowiedz