/ / Co jest wiążące ng w AngularJS? - angularjs

Co jest wiążące ng w AngularJS? - angularjs

Jestem początkującym Angular JS i próbuję dowiedzieć się, co class=ng-binding w tym przykładzie:

<label ng-dblclick="editTodo(todo)" class="ng-binding">fghfgh</label>

Znalazłem to tutaj:

http://todomvc.com/architecture-examples/angularjs/#/

Korzystam z Chrome i narzędzi programistycznych. Czy to jest słowo kluczowe o kącie? Nie mogłem go znaleźć w instrukcji (http://docs.angularjs.org/api/ng.directive:ngBind)

Odpowiedzi:

36 dla odpowiedzi nr 1

class="ng-binding" jest używany wewnętrznie przez Angular. Na przykład patrząc na ngBind źródło znajdujemy tę linię, która dodaje klasę i kojarzy wiązanie z nią za pomocą .data:

 element.addClass("ng-binding").data("$binding", attr.ngBind);

To właśnie dlatego ta linia Angular źródła (zwracając uwagę na podwójne kręci {{todo.title}} wynik w ngBind):

<label ng-dblclick="editTodo(todo)">{{todo.title}}</label>

Jest tłumaczone na to, co widzisz w debugerze:

<label ng-dblclick="editTodo(todo)" class="ng-binding">fghfgh</label>

Więc class="ng-binding" nie jest coś, czego powinieneś użyć. Znajdziesz Angular często używa klas, komentarzy i innych znaczników, więc często widzisz tego rodzaju zmiany między oryginalnym html i Angular przetwarzane wyniki.


5 dla odpowiedzi nr 2

Od docs:

ng-binding

Użycie: kątowa stosuje tę klasę do dowolnego elementu, który jest dołączony do a wiązanie danych, na przykład przez ng-bind lub {{}} nawiasy klamrowe. (widzieć Databinding przewodnik)

A więc klasa ng-binding jest nakładany dynamicznie, aby kompilator mógł zrozumieć, że element powiązany jest z powiązaniem danych.

Jako programista nie musimy się o to martwić, chyba że zastosujemy jakieś style do tych klas.