我只是在我的角度应用程序中设置路线。第一个视图,List
进行 http 调用以获取演示文稿列表
function ListController($scope, $http)
{
$scope.error = null;
$scope.presentations = null;
$scope.requesting = true;
$scope.currentTitle = '-1';
$data = {
'type' : 'presentations'
};
$http.post('resources/request.php', $data, {timeout:20000})
.success(function(data, status, headers, config)
{
$scope.requesting = false;
$scope.presentations = data;
})
.error(function(data, status, headers, config)
{
$scope.requesting = false;
log(status + ', data:" ' + data + '"');
}
}
);
}
我的路线是
angular.module('main',[]).
config(function($routeProvider) {
$routeProvider.
when('/', {controller:ListController, templateUrl:'resources/views/list.html'}).
when('/view/:id', {controller:VforumController, templateUrl:'resources/views/vforum.html'}).
otherwise({redirectTo:'/'});
});
我遇到的问题是当我去#/view/:id
然后回到电话时再次/
被$http
调用。我怎样才能使它只加载第一次进入应用程序并引用第一次加载的相同数据?
我试图在角度之外创建一个变量并将其设置为等于第一次加载的数据。然后,在ListController
基本上做了一个if data is null, do the $http call else set $scope.data = data
但没有奏效。列表视图只是空白。$scope.data
是什么建立了我的清单。