使用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);
})
这里出现了这个问题。 笨蛋 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);
})