2012-11-26 8 views

Odpowiedz

88

Masz rację, Handlebars i Angular razem byłyby zupełnie bezużyteczne.

Kierownice i kątowe to zupełnie inne rzeczy.

Kierownice to silnik szablonów. Piszesz fantazyjny ciąg-szablonów, nadajesz mu obiekt JSON i renderuje HTML z danych. Nie ma wiązania danych, aktualizacji, jest to jednorazowy render.

AngularJS to kompilator HTML i databinder. Angular będzie przeglądać HTML dla tagów kątowych, interpretować/kompilować je i aktualizować HTML ze zmianami danych w danym zakresie kontrolera. Angular nie renderuje tylko jednego ciągu HTML, kompiluje kod HTML, wiąże go z zakresem i aktualizuje, gdy zmienia się dane w tym zakresie.

Handlebars in one picture

AngularJS databinding/templating in one picture

AngularJS's HTML compiler in one article

AngularJS's whole overview/guide, so you can know how it actually works

+4

Kiedy ktoś miałby zdecydować się na stosowanie kierownicę nad angularjs? Być może, gdy strona internetowa nie wymaga interakcji użytkownika? Jaki rodzaj strony pasowałby do tego opisu? Trudno mi sobie wyobrazić, kiedy przydatne będą kierownice. – Spencer

+0

Handlebars jest używany przez inne frameworki, które nie mają wiązań w stylu Angular ... sam może być przydatny, jeśli nie używasz frameworku, ale od czasu do czasu trzeba dynamicznie konstruować HTML i dodawać go do DOM . Może być również używany po stronie serwera z node.js i działa całkiem dobrze z frameworkami takimi jak Derby, które mogą być renderowane zarówno na kliencie, jak i na serwerze (Derby używa jednak własnego niestandardowego wariantu Handlebars). –

+1

To "wiązanie danych AngularJS/szablon w jednym obrazie" wygląda tak, jak robi to knockout.js. –