Angularアプリでルートを設定するだけです。最初のビューは、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
私のリストを構築するものです。