table 中的值在更新 AngularJS 中的 $localStorage 数据后未更新

Value in table is not getting updated after updating $localStorage data in AngularJS

我在 AngularJS 中有两个组件。一个组件 usersList 包含一个 table

<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 删除用户,当 edit/delete 成功时,我刷新 usersList 的 $localStorage 值,它是 JSON对象。

在更新数据之前一切正常,但是更改没有反映在 usersList 组件中。我这样做是为了保存对 API 的调用以仅显示数据。欢迎任何其他想法。

看到这个 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

Pass $localStorage (or $sessionStorage) by reference to a hook under $scope in plain ol' JavaScript.

您的问题可能与 vm.$storage 作业有关。