Jestem nowy w Angular i mam podstawowe pytanie dotyczące ng-bind, którego nie mogłem znaleźć w dokumentacji. Mój scenariusz opiera się na aplikacji koszyka na zakupy w książce O'Reily Angular.js i nie mogę sprawić, że ng-bind zadziała.Angular.js: Jak używać ng-bind do wyświetlania konkat. elementy tablicy jako ciąg znaków?
Wymagane wyjście: Potrzebuję zmodyfikować funkcję kontrolera, aby móc wyświetlać zaktualizowane elementy tablicy $ scope.items w zakresie "Grand Total".
Oto funkcja:
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}
];
};
}
jestem w podobnej sytuacji, ale muszę, że wielki łączna zwraca obiekt jak: {baseTotal: 200.00, vat22: 44.00, całkowita: 244,00} a następnie wydrukować go tak: Podstawa: {{ . grandTotal() baseTotal}}
VAT 22%: {{grandTotal() vat22}}
Razem:. {{grandTotal() łączna}}
Ale robi tak, wydaje się, że funkcja będzie. zadzwonić więcej, co najmniej 3 razy! Nie ma sposobu, aby pobrać wynik grandTotal() do wartości pośredniej? Dzięki. – TesX
Nie martwiłbym się o te 3 połączenia ... powinny być tanie i nie powinieneś zauważać żadnego spowolnienia. Alternatywnie możesz zmienić 'grandTotal()', aby zapisać trzy wartości do zakresu ('$ scope.baseTotal = X; $ scope.vat22 = Y; $ scope.total = Z;'), a następnie wywołanie użyj '$ watch' lub '$ watchCollection' monitoruje zmiany w tablicy items i wywołuje' grandTotal() ', gdy kolekcja się zmieni. – Langdon