Angularjs: So kehren Sie zu den zur Laufzeit geladenen DOM-Elementen in der vorherigen Ansicht zurück, wenn Sie zurückkehren (Status beibehalten)
Ich habe eine eckige Anwendung, die zwei Ansichten hat:
1) Listenansicht
2) Detailansicht
Wenn Sie in der Listenansicht auf das Miniaturbild klicken, gelangen Sie zur Detailansicht. Hier ist die Route:
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/list', {
templateUrl: 'partials/list.html',
controller: 'ListCtrl',
}).
when('/list/:id', {
templateUrl: 'partials/detail.html',
controller: 'DetailCtrl',
}).
otherwise({
redirectTo: '/list'
});
}]);
Jetzt gibt es eine Funktion loadmore im 'listCtrl'-Controller, die zum Laden verwendet wird
myControllers.controller('ListCtrl', ['$scope', '$location', 'Troll', '$http',
function ($scope, $location, Troll, $http) {
$scope.Trolls = Troll.query();
$scope.orderProp = 'popular';
$scope.fromData = {};
//console.log($scope.Trolls);
//this will be used to fetch the data in json which is defined in services.js
$scope.loadmore = function () {
jQuery.ajax({
url: 'trolls/trolls.php?troll_index=' + $('#main-content #item-list .sub-item').size(),
type: 'GET',
async: false,
data: {},
dataType: 'json',
success: function (response) {
if (response != null) {
$.each(response, function (index, item) {
$scope.Trolls.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
});
});
}
},
complete: function () {},
error: function () {
console.log('Failed!');
}
});
$scope.text = 'Hello, Angular fanatic.';
$http.get('trolls/trolls.php?troll_id=' + Troll);
}
}]);
PROBLEM: Jetzt ist das Problem, nach dem Klicken auf loadmore, wenn ich zur Detailansicht gehe und zur Listenansicht zurückkehre, sind meine neu geladenen Divs verschwunden. Wie bewahre ich sie auf?