2014-05-16 14 views
7

Uczę się AngularJS i jestem nieco zdezorientowany przez różne zastosowania dyrektyw, które napotykam.AngularJS, ng-click vs ng: click vs ngClick

Na przykład, czasami widzę coś takiego (ng dwukropek kliknięcia):

<tr ng:click="..." ...> 

Czasem widzę (ng kreskę kliknięcia):

<tr ng-click="..." ...> 

i przesunięcia kątowego docs dyrektywy są wyświetlane jako "camelcase bez kreski lub dwukropka". Dodatkowo w niektórych miejscach widziałem: data-ng-click

Jaka jest różnica między tymi różnymi formularzami?

+1

: lub - są ignorowane, możesz również napisać ngClick, używasz danych lub x do sprawdzania poprawności HTML, ale znowu jest to samo dla kątowego –

Odpowiedz

9

Bez różnicy, wszystko zależy od stylu programowania. ng-click, Myślę, że jest zdecydowanie najbardziej popularnym stylem.

Kiedy tworzysz własną dyrektywę, powinieneś zawsze umieścić ją w javascriptu, a kiedy umieścisz ją na elemencie w swoim html, powinieneś użyć wersji pisanej małymi literami, oddzielonej ulubionym smakiem. Zawsze robię to tak:

angular.module('Test', []).directive('testDirective', function(){ 

}); 

a następnie:

<div test-directive></div> 

Z angular docs:

Best Practice: Wolę użyciu formatu kreska-ograniczone (np ng-wiążą dla ngBind). Jeśli chcesz użyć narzędzia do sprawdzania poprawności HTML, możesz zamiast tego użyć wersji z prefiksem danych (np. Data-ng-bind dla ngBind). Inne formy przedstawione powyżej są akceptowane z powodów związanych z tradycją, ale my radzimy ich unikać.

4

ng-click, ng:click i ngClick są takie same dla angularjs, można użyć dowolny jeden wolisz, choć myślę ng-click sposób będziesz zwykle zobaczyć jego wykorzystania.
data- to prefiks HTML5, którego można użyć do embed custom data, pomaga upewnić się, że kod HTML przechodzi sprawdzanie poprawności i uniemożliwia niektórym IDE pokazywanie błędów dla nieznanych atrybutów.