2015-01-10 10 views
5

Ho alcuni tag HTML che hanno ng-click e ng-ifs. All'interno delle rispettive espressioni, eseguo chiamate di funzione e passa i parametri, alcuni dei quali sono letterali (principalmente solo vero o falso). Quindi vorrei aggiungere un commento su cosa significhi letteralmente, ma l'angolare non sembra in grado di analizzarlo correttamente. (Realizzo passando letterali non è l'idea più brillante, ma vorrei comunque sapere la risposta)Commenti in espressione angularjs

<button class='someclass' ng-click='somefunction(val1, val2, true /* explanation for literal */)' > </button> 

Come posso aggiungere commenti nelle espressioni angolari?

+0

Se è necessario spiegare in modo letterale in questo modo, probabilmente non è il codice migliore. Se hai davvero bisogno di fornire commenti. Userei solo i commenti HTML –

+1

perché non usare l'oggetto al posto dei parametri indipendenti: 'someFunction ({val1: val1, val2: val2, flag: true})' – rubish

+0

La soluzione che ho seguito è di mettere il complesso 'someFunction (. ..) 'chiama all'interno di una funzione nel mio codice JavaScript e richiama semplicemente una funzione wrapper con una firma più semplice dall'espressione AngularJS. –

risposta

2

No, i commenti non sono supportati. Parser vede / come un operatore matematico (vedere source code) che si aspetta primary expression dopo: ad es. qualcosa che inizia con (, o [, ecc. Tuttavia non esiste un'espressione valida in javascript che possa includere * immediatamente dopo il carattere /. Quindi parser lancia un'eccezione: Token '*' not a primary expression.

1

Mentre il Angular documentation non dice esplicitamente che i commenti JavaScript non sono supportati. Immagino che non lo siano.

Le espressioni angolari sono solo un sottoinsieme di alcuni JavaScript (e alcune funzioni aggiunte come i filtri).

-1

Perché non è possibile passare questi commenti come parametri separati invece di aggiungere altri parametri? Anche se si riesce a farlo in qualche modo, non sarebbe un ottimo design.