Sono nuovo di Angular e ho una domanda di base su ng-bind che non ho trovato nella documentazione. Il mio scenario si basa sull'app del carrello degli acquisti nel libro O'Reily Angular.js e non riesco a trovare il modo migliore per funzionare.Angular.js: Come utilizzare ng-bind per visualizzare concat. elementi di una matrice come una stringa?
Output desiderato: Ho bisogno di modificare la mia funzione di controller in modo da poter mostrare i miei elementi di array $ scope.items aggiornati in un intervallo 'Grand Total'.
Qui è la funzione:
function CartController($scope) {
$scope.items = [
{title: 'Software', quantity: 1, price: 1399.95},
{title: 'Data Package (1TB)', quantity: 1, price: 719.95},
{title: 'Consulting (per hr.)', quantity: 1, price: 75.00}
];
$scope.remove = function(index) {
$scope.items.splice(index, 1);
},
$scope.reset = function(index) {
$scope.items = [
{title: 'Software', quantity: 0, price: 1399.95},
{title: 'Data Package (1TB)', quantity: 0, price: 719.95},
{title: 'Consulting (per hr.)', quantity: 0, price: 75.00}
];
};
}
Sono in una situazione simile, ma ho bisogno che gran totale restituisce un oggetto del tipo: {baseTotal: 200.00, vat22: 44.00, totale: 244.00} e quindi stamparlo in questo modo: Base: {{ . GrandTotal() baseTotal}}
IVA 22%: {{GrandTotal() vat22}}
totale:. {{GrandTotal() totale}}
Ma, così facendo, sembra che la funzione sarebbe. chiamato più almeno 3 volte! Non c'è un modo per recuperare il risultato grandTotal() in un valore intermedio? Grazie. – TesX
Non mi preoccuperei di quelle 3 chiamate ... dovrebbero essere economiche e non dovresti notare alcun rallentamento. In alternativa, è possibile modificare 'grandTotal()' per scrivere tre valori per scope ('$ scope.baseTotal = X; $ scope.vat22 = Y; $ scope.total = Z;') e quindi chiamare use '$ watch' o '$ watchCollection' per monitorare le modifiche nell'array degli elementi e chiamare' grandTotal() 'quando la raccolta cambia. – Langdon