2016-03-16 11 views
9

Sono inclinato Js angolare. Ho trovato che molti autori usano ng-init e molti autori usano data-ng-init. Ho provato a cercare la differenza ma non ho potuto ottenere una risposta appropriata. Se qualcuno conosce la differenza tra loro, per favore condividi la tua risposta.Differenza Js angolare tra ng-init e data-ng-init

Grazie!

+2

Possibile duplicato di [Qual è la differenza tra ng-app e data-ng-app?] (http://stackoverflow.com/questions/16184428/ qual è la differenza tra l'app-ng e l'app-ng-data) – Phil

+2

Tutte le direttive degli attributi angolari possono essere scritte come 'ng-thing' o' data-ng-thing'. Entrambi sono equivalenti al 100%. – GregL

+0

Grazie mille :) –

risposta

6

data-ng-init è un codice di convalida HTML5 in cui ng-init non ha codice valido in termini di HTML5. Questo è applicabile a tutte le direttive angolari.

+1

Grazie mille :) –

9

Interessante domanda. Da W3schools:

È possibile utilizzare i dati-ng-, invece di ng-, se si desidera rendere valida la pagina HTML.

validatori HTML genera un errore con la proprietà come ng-init, ma se diamo un prefisso con data- (es: data-ng-init), validatori HTML accettarlo e sarà valida.

È possibile leggere ulteriori dettagli a qui: https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#embedding-custom-non-visible-data-with-the-data-attributes

Nota: data-* attributi sono il modo per estendere HTML.

+0

Grazie mille :) –

1

Idealmente non c'è differenza tra i due in termini di funzionalità ma con solo la convalida.

Dopo l'inizio di HTML5, l'editor di codice come Visual Studio, evidenzia "ng-" come qualcosa che non è valido. Ma in realtà è valido, quindi c'è un modo per far capire all'editor di codice che l'attributo di AngularJS è valido anteponendolo con 'data-ng- *'.

Quindi, quando si utilizza il prefisso, in qualsiasi editor di codice HTML5, non sottolinea gli attributi e li considera validi.

Questo era lo scopo originale del prefisso "data- *".

+0

Grazie mille :) –

0

I validatori HTML5 genereranno un errore su ng-app. quando utilizziamo i dati come prefisso, semplicemente ignoriamo il lancio di un errore

Problemi correlati