我有一个api数据,使用AngularJS获取它并在网站上显示它。我只是想将api数据存储在本地存储中,而不是每次都从api中获取数据。所以我编码如下:
if($window.localStorage.cityApi){
$scope.cities = JSON.parse($window.localStorage.cityApi);
}
AddCityService.init(function(city_response) {
$scope.loading = false;
$scope.cities = city_response.data;
$scope.city = JSON.parse(JSON.stringify(getCity($stateParams._id)));
$window.localStorage.cityApi = JSON.stringify($scope.cities);
});
但问题是,它是从api获取数据,而不是从本地存储中获取数据。如果我评论从api获得响应的代码。它将从本地存储中获取。如果我还提到api和本地,它将从api获取数据。我已经检查了chrome开发人员工具。我也不能使用其他条件。因为我有页面添加城市并显示添加的城市。如果我添加一次城市,它将重定向到页面以显示添加的城市。所以,现在如果我在这里使用其他,那将不会转移到else语句本身,因此它不会显示添加的城市。任何人都可以告诉我有没有办法做到这一点。
答案 0 :(得分:0)
你怎么可能不能在这里使用 else 语句?
if($window.localStorage.cityApi){
$scope.cities = JSON.parse($window.localStorage.cityApi);
}
else {
AddCityService.init(function(city_response) {
$scope.loading = false;
$scope.cities = city_response.data;
$scope.city = JSON.parse(JSON.stringify(getCity($stateParams._id)));
$window.localStorage.cityApi = JSON.stringify($scope.cities);
});
这不起作用吗?