私は数日間 AngularJS をいじっていますが、いくつかの電球が点灯し始めていますが、ng-repeat の $scope 変数のように localStorage 変数を使用できない理由がわかりません:
何が機能していますか:
JS
$scope.items = [
{id: 1, title: 'a', desc: '1', quantity: 1, price: 14.50},
{id: 2, title: 'b', desc: '2', quantity: 1, price: 25.95},
{id: 3, title: 'c', desc: '3', quantity: 1, price: 22.50}
];
HTML
<div ng-repeat="item in items">
<span>{{item.title}}</span>
<span>{{item.price | currency:"€"}}</span>
<span>{{item.price * item.quantity | currency:"€"}}</span>
</div>
今のところ問題ありません。ただし、同じ情報を $localStorage.items 変数に保存すると、ng-repeat フィールドに正しく解析されなくなります。特定の変数を返す他の関数は、関数として呼び出しているときに機能しています ({{example()}})
だから私がやろうとしていること:
JS
$scope.addToCart = function(index, title, desc, price) {
var found = false;
angular.forEach($localStorage.items, function(items) {
if (items.id === index) {
items.quantity++;
found = true;
}
});
if (!found) {
$localStorage.items.push(angular.extend({id: index, title: title, quantity: 1, price: price}, index));
}
};
HTML
<div ng-repeat="item in $localStorage.items">
<span>{{item.title}}</span>
<span>{{item.price | currency:"€"}}</span>
<span>{{item.price * item.quantity | currency:"€"}}</span>
</div>
ただし、これは機能していません。私は何を間違っていますか?