Come mantenere il modello su tutti i percorsi. per esempio ho una lista di profili caricati sulla home page. La home page contiene anche un'azione "carica più" per caricare più profili, in pratica spingere i dati sul modello. Facendo clic su un profilo specifico, la vista dettagliata per quel profilo viene attivata tramite rotte. La vista di dettaglio ha un pulsante indietro che reindirizza l'utente alla home page. Sul routing verso la home page, i dati (profili) caricati dall'azione "carica di più" vengono persi. Ho bisogno di mantenere il modello con il "carico di più" datiangularjs mantiene la variabile di ambito lungo i percorsi
prepended Di seguito è riportato il codice usato
/* Controllers */
var profileControllers = angular.module('profileControllers', ['profileServices'])
profileControllers.controller('profileListCtrl', ['$scope','$location', 'Profile','$http',
function($scope,$location, Profile,$http) {
$scope.Profiles = Profile.query(function(){
if($scope.Profiles.length < 3) {
$('#load_more_main_page').hide();
}
});
$scope.orderProp = 'popular';
$scope.response=[];
//LOADMORE
$scope.loadmore=function()
{
$http.get('profiles/profiles.php?profile_index='+$('#item-list .sub-item').length).success(function(response){
if(response) {
var reponseLength = response.length;
if(reponseLength > 1) {
$.each(response,function(index,item) {
$scope.Profiles.push({
UID: response[index].UID,
id: response[index].id,
popular: response[index].popular,
imageUrl: response[index].imageUrl,
name: response[index].name,
tags: response[index].tags,
category: response[index].category
});
});
}
if(reponseLength < 3) {
$('#load_more_main_page').hide();
}
}
});
}
}]);
/* App Module */
var profileApp = angular.module('profileApp', [
'ngRoute',
'profileControllers',
'profileServices',
]);
profileApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/profiles', {
templateUrl: 'partials/profile-list.html',
controller: 'profileListCtrl',
resolve: {
deps: function ($q, $rootScope) {
var deferred = $q.defer();
var dependencies = ['js/sort.js'];
$script(dependencies, function() {
$rootScope.$apply(function() {
deferred.resolve();
});
});
return deferred.promise;
}
}
}).
when('/profiles/:profileId', {
templateUrl: 'partials/profile-detail.html',
controller: 'profileDetailCtrl',
}).
when('/profiles/cat/:category', {
templateUrl: 'partials/profile-list-category.html',
controller: 'profileCategoryListCtrl',
}).
when('/create/', {
templateUrl: 'partials/profile-create.html',
controller: 'profileCreateCtrl',
css: ['css/createprofile.css','css/jquery-ui-1.10.4.custom.min.css','css/spectrum.css'],
}).
otherwise({
redirectTo: '/profiles'
});
}]);
Suona come avete bisogno di ui-router, che mantengono lo stato di visualizzazione. https://github.com/angular-ui/ui-router –
@MikeRobinson Ho aggiunto il codice utilizzato nell'applicazione nella mia domanda, potresti per favore guidare come posso mantenere il modello di elenco-vista con i dati anteposti dal carico altro invito all'azione sul routing dalla vista dettagliata alla vista elenco? –