I AngularJS einzelne Seite app in meiner Webseite verwendet,angularjs SPA - Wie speichere ich?
finden Sie Code für die Spa-Konstruktor
app.config(config);
config.$inject = ['$stateProvider','$urlRouterProvider'];
function config($stateProvider,$urlRouterProvider){
$stateProvider.state('dashboard',{
url:'/{userID}/{testID}',
templateUrl:'templates/dashboard.html',
controller:'dashboardCtrl'
});
}
Vorlage dashboard.html
zeigt Anzahl der Google-Grafiken und Diagramme. In Controller dashboardCtrl
, mache ich GET/POST-Anfragen an den Server mit $http
Direktive, und grafisch Google Graphen mit Antwortdaten.
finden Sie Code für Service ($http
Anfrage)
app.service('getGraphData',getGraphData);
getGraphData.$inject = ['$http'];
function getGraphData($http){
var obj = this;
obj.getLatestData = function(testID){
return $http({
method:'GET',
url:'/rest/getGraphDataForTestID',
params:{testID:testID}
}
).then(function(response){
// success response
return(response.data);
});
}
return obj;
}
Controller-Code -
app.controller('dashboardCtrl',dashboardCtrl);
dashboardCtrl.$inject = ['$scope','$rootScope','getGraphData','$stateParams'];
function dashboardCtrl($scope,$rootScope,getGraphData,$stateParams){
var testID = $stateParams.testID;
var userID = $stateParams.userID;
var graphData = null;
getGraphData.getLatestData(testID).then(function(response){
$scope.testname = response.data.testname;
$scope.tag = response.data.tag;
..
..
$scope.results = response.data;
graphData = response.data;
drawBarChart(graphData);
drawPieChart(graphData);
});
}
Ich habe Reihe von Links wie in meiner Index-Seite folgende
<a ui-sref = "dashboard({userID:1,testID:197})"><b>dashboard-userid:1,graphs:197</b></a>
<a ui-sref = "dashboard({userID:1,testID:198})"><b>dashboard-userid:1,graphs:198</b></a>
Dieses Setup funktioniert für einige Zeit gut, aber nach einiger Zeit bekomme ich einen Browserfehler Meldung „Browser lief diese Webseite aus dem Speicher anzuzeigen“
Vielleicht, weil AngularJS vorherige $scope
und $rootScope
Variablen speichern und auch neue zu schaffen, wenn Vorlage neu geladen wird ... oder einfach JavaScript-Variablen werden nicht gelöscht zu werden ... (aber ich verwende keine globalen Variablen - alle in Controller-Funktionen deklariert werden, die gleiche Lebensdauer wie die Funktion haben sollte)
wie kann ich klar/bündig diese $scope/$rootScope
Variablen und freien Speicher ... wie Kann ich die Speicherauslastung meiner bestimmten Seite analysieren? Bitte helfen Sie ...
danke, es ist nützlich –