Ho una lista di oggetti. Vengono visualizzati con ngRepeat
direcitve. Ogni blocco con informazioni è coperto da direttiva, che ha alcuni metodi di supporto.Come utilizzare il binding unidirezionale con la direttiva ngClass in AngularJS?
, ovvero costruisce la variabile labelId
, che viene utilizzata in questo blocco con un collegamento unidirezionale.
Così quando voglio visualizzarlo per esempio nell'attributo for
non ho problemi {{::label}}
.
Quando voglio visualizzarlo come nome del campo, non c'è nessun problema {{::label}}
.
Ma quando voglio fare riferimento a esso in ngMessages
blocco come:
<p class="error-message" ng-messages="FormName[::label + '_' + $index].$error" ng-messages-include="error-messages.html"></p>
O quando voglio usare come riferimento per impostare classe CSS in modo dinamico come:
<div ng-class="{'has-error': (FormName[::label + '_' + $index].$error.someErrorName)}">
quindi sono ottenendo Error
Error: [$parse:syntax] Syntax Error: Token ':' not a primary expression at column 21 of the expression [{'has-error': (FormName[::label + '_' + $index].$error
'ng-class =" :: {'has-error': ...} "' – YOU
Cosa succede se ci sono altre classi, che non richiedono il bind a senso unico? – Eugene
Credo che l'angolare ti abbia consentito solo una :: sintassi per espressione. – YOU