我有一个应用程序接口数据,获取它,并使用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开发工具了。我不能使用this.because的else条件,我有添加城市和显示添加的城市的页面。如果我添加一次城市,它将重定向到页面,以显示添加的城市。所以,现在如果我在这里使用else,它不会移动到else语句本身,因此它不会显示添加的城市。谁能告诉我有什么方法可以做到这一点。
发布于 2016-01-29 19:12:52
这里怎么可能不能使用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);
});这不管用吗?
https://stackoverflow.com/questions/35082918
复制相似问题