使用angular js在哪里存储当前状态数据?

Where to store the current state data using angular js?

这里出现了这个问题。 笨蛋 link -> https://run.plnkr.co/NMW85SbYq76ujSjV/

我需要使用 angular js 将当前状态数据存储在本地存储之外的某个地方。我在一个 angular 页面中有一个模型(卡片)列表。每张卡片中有两个选项卡。第一个选项卡只有简单的文本,而第二个选项卡只有一个按钮。因此,当用户单击按钮(出现在第二个选项卡中)时,它会重定向到我们显示当前模型描述的新状态。

这里有一个问题。当用户处于第一个状态(所有模型都可见)时,该用户可以自由 select 来自任何模型的任何选项卡。所以假设,我们有 10 个模型和用户 select 模型 2、4、5 和 9 的选项卡 2。所以这里的视图就像模型 1、3、6、7、8 和 10 将显示选项卡1 内容和其余模型将显示选项卡 2 内容。现在,当 he/she 单击第二个选项卡(任何模型)中的按钮时,它会重定向到模型状态的描述。这是返回到先前状态的按钮。当 he/she 单击此按钮时,它会重定向到模型状态,但它会在所有模型中显示选项卡 1 内容,而不是相应地显示之前的 selected 选项卡。

那么我该如何处理这种情况。我想在用户从描述状态返回到模型状态时显示之前的状态。

请大家帮帮我。请点击上面的 link 以获取已实施的 plunker 示例。任何线索将不胜感激。

谢谢:)

您必须创建一个服务并将 "flag" 变量移动到 JSON。 我已经修改了你的 plunker。请检查。

https://plnkr.co/edit/5k8hXbCIid4NonSL4Y9k?p=preview

var getData = {};

        getData.get = $http.get('template.json')
            .then(function(response) {
              console.log(response);
                return response.data;
            })

       return getData;   
});

myRouterApp.component('myModels', {
  templateUrl: 'models.html',
  controller: ['$scope', '$http', '$state','getModelSvc', function TrialCtrl($scope, $http, $state,getModelSvc) {
    $scope.models = [];
    console.log(getModelSvc);
  getModelSvc.get.then(function(data) {
          $scope.models = data.models;
              console.log($scope.models);
    })