[英]Pushing values to localstorage in angularjs not working
當我將值推送到本地存儲時,我正在從Firebase中獲取值存儲空存儲正在推送如何修復它
我的代碼:
var app = angular.module("bucksbucketapplication", ['firebase', 'ngStorage']);
app.controller("bucksbucket_orders", function ($scope, $firebaseArray, $firebaseObject, $http, $localStorage) {
var fbvalues = new Firebase("https://qwertyuiop.firebaseio.com/values");
$scope.syncfromfbvalues = $firebaseArray(fbvalues);
$scope.$storage = $localStorage.$default({
"orders": []
});
$scope.data = $localStorage.orders;
$scope.cloneItem = function (syncfromfbvalues) {
$scope.$storage.orders.push({
"price": syncfromfbvalues.id
});
}
});
並在我的結束代碼前面:
<html ng-app="bucksbucketapplication">
<head>
<script src="angular.min.js"></script>
<script src="firebase.js"></script>
<script src="angularfire.min.js"></script>
<script src="ngstr.js"></script>
<script src="script.js"></script>
</head>
<body ng-controller="bucksbucket_orders">
<li ng-repeat="message in syncfromfbvalues">{{message.greens}} <button class="btn btn-primary" data-ng-click="cloneItem(syncfromfbvalues)">to local</button></li>
</body>
</html>
您好問題已解決,這是更新的Plunker演示
正如Rhumborl在評論中告訴我的原因,我會發送變量,現在我已經解決了
更新的代碼
data-ng-click="cloneItem(message)"
,然后在腳本中
$scope.cloneItem = function (message) {
$scope.$storage.orders.push({
"price": message.greens
});
}
與其創建對$ localStorage的引用,不如直接將值保存到$ localStorage。
$localStorage.orders = []
$scope.cloneItem = function (todo) {
$localStorage.orders.push({
"price": $scope.message
});
}
當我在處理它時,我也遇到了同樣的問題,它以這種方式為我工作。
對異步調用使用promise。 我對您的示例進行了一些更改。 由於異步操作,您的message對象未定義。 我增加了諾言,所以現在就處理了。
工作示例: http : //plnkr.co/edit/I1Dyn0NmuLMDRYyS8ABU?p=preview
$scope.getMessages = function () {
var arr, fbvalues = new Firebase("https://qwertyuiop.firebaseio.com/values");
arr = $firebaseArray(fbvalues);
arr.$loaded().then(function (msg) {
console.log('Mymsg', msg)
return $scope.message = msg;
});
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.