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 1class="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.