Ho un oggetto risposta JSON che contiene un valore percentuale. Per esempio:Impostazione dell'ampiezza dell'elemento HTML utilizzando lo stile ng e il valore percentuale in AngularJS
{
completionPercent: 42
}
Il risultato interfaccia utente che sto puntando è:
┌──────────────────────────────────────────────────┐
|█████████████████████ |
└──────────────────────────────────────────────────┘
L'oggetto JSON viene utilizzato come ng-model
di un elemento in AngularJS. Ora voglio legare lo completionPercent
come larghezza di un elemento in AngularJS. Ma i CSS width
si aspettano una stringa come '42%'
, non un numero. Così il seguente non funziona:
<div id="progressBackground" ... >
<div id="progressBar"
ng-model="..."
ng-style="{ 'width': completionPercent }"
... ></div>
</div>
Attualmente, ho questo lavoro generando l'intero stile nel controller:
ng-style="getStyleFromCompletionPercent()"
Ma questa non è una buona idea, in quanto diventa molto difficile estendere il ng-style
. C'è un altro modo per specificare implicitamente che la larghezza è in percentuale? Qualcosa di simile a questo sarebbe l'ideale:
ng-style="{ 'width-percentage': completionPercent }"
Quindi non è sufficiente aggiungere la percentuale nell'oggetto per cominciare? '{" completionPercent ":" 42% "}' – epascarello
@epascarello Il JSON proviene da un altro servizio. Potrei pre-elaborarlo nel controller e aggiungere una nuova proprietà String, ma lo lascerei come ultima risorsa. – metacubed