Kannst du mir bei der Berechnung von AngularJS während der Datenbindung helfen? Es gibt noch ein weiteres Problem, da der Rabattwert nicht numerisch ist. Es ist eine Zeichenfolge mit '%' angehängt.Wie berechnet man AngularJS mit Prozentwert
Meine aktuelle Ausgabe:
Actual: 1000
Discount: 10%
Price after discount : 10% [I want the calculation here. 1000-(.1*1000) ie 900]
Actual: 600
Discount: 5%
Price after discount : 5% [I want the calculation here]
index.html
<body ng-app="myApp">
<div ng-controller="ItemCtrl">
<span ng-repeat="item in items">
<div>Actual: {{item.actual}}</div>
<div>Discount: {{item.discount}}</div>
<div>Price after discount : {{item.discount}}</div>
<hr>
</span>
</div>
app.js
var myApp = angular.module('myApp', []);
myApp.controller('ItemCtrl', ['$scope', function($scope) {
$scope.items = [{
"discount": "10%",
"actual": "1000"
}, {
"discount": "5%",
"actual": "600"
}];
}]);
Hier ist meine jsfiddle Link: http://jsfiddle.net/960bhxab/1/
Vielen Dank Erevald .. Viel sauberer Ansatz. Akzeptieren Sie dies für den zusätzlichen Aufwand, Code zu reinigen. Nur eine Korrektur wäre "item ['price'] = item.actual * (100-item.discount.slice (0, -1))/100;', so dass es für alle Datenszenarien wie [{actual: 1199, Rabatt: 33%}]. Ausgabe als 803.33 anstelle von 803.3299999999999 – spiderman
Eine Frage Wenn ich die '$ scope.items.forEach (Funktion (Element)' in meinem lokalen versuche, beschwert es sich mit einem Fehler 'TypeError: Kann die Eigenschaft' forEach 'von undefined nicht lesen um Neu (http: // localhost: 63342/coolapp/app.js: 8: 17) bei Object.invoke (https: // ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:41:376) ' –
spiderman
@spiderman sind die Artikel von einem Service kommen? Sie können die Schleifenlogik versuchen, bevor das Array zu einem Bereich hinzugefügt wird, und prüfen, ob 'Objekte' nicht 'undefiniert' sind. – Erevald