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
@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 ?
@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
@Marmite: jest szybsze, przez pewien czas jedne z szybszych rozwiązań, zdeklasowane dopiero przez htmlbars z Ember.js. Natomiast jak to zobaczyłem to od razu wiedziałem że to musieli phpowcy wymyśleć. W życiu nie widziałem takiego syfu i jest to gwałt na zdrowym rozsądku.
@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