2015-09-04 207 views
0
複製到本地存儲

我用Angular.js的localStorage的值存儲在本地如何避免Angular.js

這裏是plnkr Demo

一切工作正常,但如何避免將產品或值兩次? (如何避免重複),同時將值推送到本地

回答

2

您只需將項目推送到數組而無需在cloneItem()中進行任何進一步檢查。您可以更新其實施重複檢查第(只是一個快速的想法):

$scope.cloneItem = function (todo) { 

    // Check for duplicate on id 
    if($scope.$storage.notes.filter(function (note) { 
     return note.id === todo.id; 
    }).length > 0) { 
     return; 
    }; 

    // Insert if not duplicate 
    $scope.$storage.notes.push({ 
     "price": todo.price, 
     "id": todo.id, 
     "quan": todo.quan 
    }); 
} 
+0

偉大的工作正常..謝謝快速信息! –

1

我想你可以使用更短的方式比薩科一個:

$scope.cloneItem = function (todo) { 

    if ($scope.$storage.notes.indexOf(todo) == -1) { 
    //if the object is not in the array 
     $scope.$storage.notes.push({ 
      "price": todo.price, 
      "id": todo.id, 
      "quan": todo.quan 
     }); 
    } 
    //else you just do nothing 
}