경로를 통해 모델을 유지 관리하려면 어떻게해야합니까? 예를 들어 홈 페이지에로드 된 프로필 목록이 있습니다. 홈 페이지에는 기본적으로 더 많은 프로파일을로드하는 "더 많은로드"작업이 포함되어 있으며 기본적으로 데이터를 모델에 푸시합니다. 특정 프로필을 클릭하면 해당 프로필의 상세보기가 경로를 통해 활성화됩니다. 상세보기에는 사용자를 다시 홈 페이지로 리디렉션하는 뒤로 버튼이 있습니다. 홈 페이지로 다시 라우팅하면 "더 많은로드"작업에 의해로드 된 데이터 (프로필)가 손실됩니다. 나는 "더로드"와 모델을 유지하기 위해 필요한 데이터angularjs는 경로를 통해 범위 변수를 유지합니다.
을 앞에 추가 아래 코드 당신은 그렇게 할 AngularJS service을 사용할 수 있습니다
/* 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'
});
}]);
는 소리. https://github.com/angular-ui/ui-router –
@MikeRobinson 내 질문에 응용 프로그램에서 사용되는 코드를 추가했습니다. 어떻게하면로드에서 prepended 데이터가있는 목록보기 모델을 유지 관리 할 수 있습니까? 자세히보기에서 목록보기로 다시 라우팅 할 때 더 많은 클릭 유도 문안이 필요합니까? –