我有一个应用程序,它将angularjs与app-manifest和本地存储结合使用。
以下是我的控制器的代码:
var ErrandListController = function ($scope, $http)
{
$scope.url = 'Errands/GetErrandList';
$scope.content = [];
$scope.fetchContent = function ()
{
$http.get($scope.url).then(function (result)
{
$scope.content = result.data;
localStorage.setItem("ErrandList", JSON.stringify(result.data));
}).catch(function (response)
{
$scope.content = localStorage["ErrandList"];
});
}
$scope.fetchContent();
}
当我向服务器发出请求并且服务器不可用时,我显然没有得到响应,angularjs执行catch-callback,从而从本地存储中获取差事列表并将其放入范围。
这很好用,但问题是angularjs似乎在请求失败后立即停止数据绑定。
是否有可能在catch-callback中强制数据绑定或设置一个配置标志,告诉angularjs在请求失败的情况下继续数据绑定? 或者我的问题还有其他解决办法吗?
答案 0 :(得分:0)
问题是我在将对象放入本地存储之前对其进行了字符串化,而在再次检索它时没有解析它。 我最初没有找到它的原因是我试图访问范围内不存在的成员,而AngularJS报告错误。
故事的寓意是,在假设数据绑定出现问题之前,您应该始终检查范围内的内容。
答案 1 :(得分:-1)
如果我理解正确
$http.get($scope.url).then(function (result){}, function (error) {})