У меня есть угловой контроллер со следующим кодом внутри него "
var getFilms = function(searchterm, category, page){
dataService.getFilms(searchterm, category, page).then(response => {
let films = [];
let pageLinks = [];
console.log($routeParams.page += 1);
console.log($routeParams.page - 1);
for (let i = 0; i < response[10][0]; i += 10) {
let pageNum = i/10;
if (pageNum === $routeParams.page) {
pageLinks.push({
pageLink: "/wai-assignment/#/films?searchterm=" + searchterm + "&category=" + category + "&page=" + i/10,
pageNum: i/10
})
}
if (pageNum === ($routeParams.page - 1)) {
pageLinks.push({
pageLink: "/wai-assignment/#/films?searchterm=" + searchterm + "&category=" + category + "&page=" + i/10,
pageNum: i/10
})
}
if (pageNum === ($routeParams.page + 1)) {
pageLinks.push({
pageLink: "/wai-assignment/#/films?searchterm=" + searchterm + "&category=" + category + "&page=" + i/10,
pageNum: i/10
})
}
}
for (let i = 0; i < (response.length - 1); i++) {
films.push({
title: response[i].title,
category: response[i].name,
description: response[i].description
})
}
$scope.pageLinks = pageLinks;
$scope.films = films;
},
function(err){
$scope.status = 'Unable to load data' + err;
},
function(notify){
console.log(notify);
});
}
Во-первых, где написано console.log($routeParams.page += 1)
, выводится как «01», а не «1», почему так? $ routeParams.page - это число (я проверил с помощью typeof).
Во-вторых, этот код срабатывает дважды. Два этих файла console.logs появляются дважды в консоли.
В-третьих, при втором выполнении они выводят переменные, отличные от первого:
controllers.js:26 01
controllers.js:27 0
controllers.js:26 011
controllers.js:27 10