안에 dialog
두 지시문이 모두 ui.bootstrap
입니다. 문제는 $watch
이 currentPage 멤버에서 작동하지 않는다는 것입니다.각도 ui.bootstrap 페이지 매김 - 현재 페이지가 업데이트되지 않음/작동하지 않음
이제 유사한 코드는 페이지 매김이 일부 대화 상자 안에 있지 않은 다른 페이지에서도 완벽하게 작동합니다.
나는이 문제는 $scope
관련되어 생각하지만 currentPage
는 범위에서 사용할 수 있습니다 그리고 난 {{currentPage}}
가 plunker
$scope.$watch('currentPage')
의 코드를 찾아주세요 사용하여 템플릿을 발사되지를 표시 할 수 있습니다 클릭하여 페이지 링크를 클릭하십시오.
이제 회피 방법으로 페이지 번호 지정에서 제공하는 콜백 on-select-page
을 사용할 수 있습니다.
예컨대
<pagination on-select-page="pageChanged(page)" total-items="totalItems" items-per-page = "numPerPage" page="currentPage" max-size="maxSize"></pagination>
과 내가 가질 수 내 컨트롤러 내부
,$scope.pageChanged = function(page) {
console.log(page);
};
하지만 오히려 이러한 경우에 왜 $scope.$watch
실 거예요 작업을 이해할 필요가있다.
업데이트 :
가... page="$parent.currentPage" ...
또는 적절한 솔루션 : 중첩 된 범위 바인드 관련된
당신은 바르 다음 콘솔에서 는
$$watchers: Array[1]
0th: Object
eq: false
exp: "currentPage"
fn: function (o,n){}
우선, 답변에 대한 귀하의 노력에 감사드립니다. 감사. 이것이 효과가 있지만. 질문이 있습니다 - 범위가 잘못된 경우'{{currentPage}} '를 사용하여 템플릿에 currentPage를 어떻게 표시 할 수 있습니까?질문에 의해 나는 $ 범위에 대한 더 나은 이해를 원합니다. 솔루션에 대한'on-select-page' 속성을 사용할 수있었습니다. –
실례지만 틀린 대답을 용서해주세요. 오늘까지는 17 시간 째이고, 나는 보통 늦게 실수하는 경향이 있습니다. 범위는 정확하지만 중첩되어 있으면 레벨을 더 깊게 바인드합니다 (예 : $ scope.data.currentPage). https://github.com/angular/angular.js/wiki/Understanding-Scopes도 참조하십시오. http://plenkr.co/edit/2zY91RofKrmUf2zpMuPf?p=preview – Max
"내 17 시간이야.">> 아무런 문제가 없습니다. _ "중첩 된 범위가 포함되어 있으면 레벨을 더 깊게 바인딩 할 수 있습니다." 감각. 개간 해줘서 고마워. –