我是Angular的新手。我正在使用一个服务来获取对象列表并在第一页上显示它们。然后根据点击了哪个对象,我设置下一页的标签头。但是,在我刷新页面时,列表范围丢失了,并且标签头会抛出异常,导致页面无法显示信息。是否有办法保留先前屏幕上单击的对象的信息,即使在刷新第二页时也是如此?
我是Angular的新手。我正在使用一个服务来获取对象列表并在第一页上显示它们。然后根据点击了哪个对象,我设置下一页的标签头。但是,在我刷新页面时,列表范围丢失了,并且标签头会抛出异常,导致页面无法显示信息。是否有办法保留先前屏幕上单击的对象的信息,即使在刷新第二页时也是如此?
app.controller("main", function($scope) {
$scope.items = [1,2,3,4];
});
app.controller("detail", function($scope, $routeParams) {
$scope.myvalue = $routeParams.id;
});
var app = angular.module("app", ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'main',
controller: 'main'
})
.when('/detail/:id', {
templateUrl: 'detail',
controller: 'detail'
})
.otherwise({
redirectTo: '/'
});
});
以下是一些有用的链接:
$cache
https://docs.angularjs.org/api/ng/service/$cacheFactory
本地存储:如果数据只是URL中的ID,则@Michal Stefanow的答案也不错。
帮助链接