我在AngularJS中有两个组件。一个组件usersList
包含一个表
<table>
<tbody>
<tr ng-repeat="..."><!--Contains code to repeat the entries in usersList localstorage object--></tr>
</tbody>
</table>
在页面加载时,此组件从API中获取用户详细信息,并将其存储在$ localStorage中。
其他是editUserProfile
表单,其中编辑和删除值
app.component("editUserProfile", {
...
controller: function($localStorage, ...) {
vm.$storage = $localStorage;
// Do other things
// Some event (edit) is successful, update the userslist in $localStorage
vm.$storage.usersList = response
}
})
基本上,我正在编辑用户详细信息并通过调用API来删除用户,当成功编辑/删除时,我刷新了usersList这是一个JSON对象的$ localStorage值。
事情一直有效,直到更新数据,但更改不会反映在usersList组件中。我这样做是为了保存对API的调用以便只显示数据。欢迎任何其他想法。
答案 0 :(得分:1)
请参阅此Plunkr工作。
var app = angular.module('app', ['ngStorage']);
app.controller('mainCtrl', function($scope, $localStorage){
$scope.$storage = $localStorage;
$scope.$storage.entity = [];
$scope.add = function(){
$scope.$storage.entity.push('New entry');
}
});
$localStorage
似乎应传递$scope
。
引用$ localStorage(或$ sessionStorage)通过引用普通ol&#39;中的$ scope下的钩子。的JavaScript。
您的问题可能来自vm.$storage
分配。