मैं एक शॉपिंग कार्ट लागू कर रहा हूं और डेटा को स्थानीय स्टोरेज में स्टोर करना चाहता हूं। मैं इतना है कि मैं localStorageडेटा परिवर्तन के लिए ऑब्जेरजेएसएस एक्शन ऑब्जेक्ट्स
गाड़ी चर इस तरह दिखता है अद्यतन कर सकते हैं बदलाव के लिए चर $scope.cart
देखना चाहते हैं:
[{'name':'foo', 'id':'bar', 'amount': 1 },...]
इस घड़ी के लिए कोड है।
$scope.updateCart = function(){
localStorageService.add('cart',JSON.stringify($scope.cart));
alert('cart updated');
};
$scope.$watch($scope.cart, $scope.updateCart(), true);
यह वह HTML है जहां उपयोगकर्ता मॉडल बदलता है।
<li ng-repeat="item in cart">
{{item.name}} <input type="text" ng-model="item.amount">
</li>
निम्नलिखित कोड के साथ, updateCart()
विधि कभी नहीं शुरू हो रहा है। मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं। मैं जांचता हूं कि $scope.cart
चर बदल गया था, लेकिन अद्यतन ट्रिगर नहीं किया गया था।
पहले उदाहरण में 'सत्य' अनावश्यक नहीं है? –
$ scope.updateCart कभी भी ट्रिगर नहीं करेगा यदि आप इसे कोष्ठक के साथ पास करते हैं क्योंकि आप फ़ंक्शन के परिणाम को $ घड़ी में पास करेंगे जो इस मामले में अपरिभाषित होगा। सही तरीका है: $ स्कोप। $ घड़ी ('कार्ट', $ scope.updateCart, true); – SKuijers
'कार्ट' ऑब्जेक्ट्स की एक सरणी है, इसमें 'राशि' – Hovo