Bonjour à tous,
je suis vraiment perplexe, et j'espère que quelqu'un pourra m'aider.
je construit une division "slide Pager" qui est dynamiquement construite selon la taille que je la donne dans une fonction JavaScript, voici a ce que ressemble:
mais le problème c'est que j'attribue a chaque élément un événement |onclick="$scope.function()"| voici comment :
jusqu'à ici tout est parfait, mais quand je clique sur l'un des élément qui s'est apparait une erreur se déclenche on me disant "Uncaught ReferenceError: $scope is not defined"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 angular.module('MyApp', ['services']).controller('MyCtrlG', function($scope, $http, Logger) { $scope.afficherPage=function(x){ console.log("chui làà"); } } $scope.setPager=function(x){ var ul = document.getElementById('pager'); $scope.RemoveAllChild('pager'); var fp = document.createElement('li'); var lp = document.createElement('li'); var prev = document.createElement('li'); var next = document.createElement('li'); fp.setAttribute('class','first-page'); fp.innerHTML = '<a onclick="$scope.afficherPage(\'fp\')" href="#">«</a>'; ul.appendChild(fp); prev.innerHTML = '<a onclick="$scope.afficherPage(\'prev\')" href="#" >‹</a>'; ul.appendChild(prev); n=x; if(n>10) n=10; for (var i = 1; i <= n; i++) { var li = document.createElement('li'); if(i==1) li.setAttribute('class','active'); li.innerHTML = '<a onclick="$scope.afficherPage('+i+')" href="#" >'+i+'</a>'; ul.appendChild(li); } if(x>10){ var li = document.createElement('li'); li.innerHTML = '<p>.....</p>'; ul.appendChild(li); } next.innerHTML = '<a onclick="$scope.afficherPage(\'next\')" href="#">›</a>'; ul.appendChild(next); lp.setAttribute('class','last-page'); lp.innerHTML = '<a onclick="$scope.afficherPage(\'lp\')" href="#">»</a>'; ul.appendChild(lp); return x; } });
et j'essayais appeler ma fonction afficherpage() de différent manière:
merci pour tout réponse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 li.innerHTML = '<a onclick="$scope.afficherPage('+i+')" href="#" >'+i+'</a>'; // "Uncaught ReferenceError: $scope is not defined" li.innerHTML = '<a onclick="afficherPage('+i+')" href="#" >'+i+'</a>'; // "Uncaught ReferenceError: afficherPage() is not defined" li.innerHTML = '<a ng-click="$scope.afficherPage('+i+')" href="#" >'+i+'</a>'; // rien ne s'affiche ni erreur ni résultat li.innerHTML = '<a ng-click="afficherPage('+i+')" href="#" >'+i+'</a>'; // rien ne s'affiche ni erreur ni résultat
Partager