2013-05-22 3 views

답변

3

당신의 지시에 격리 범위는해야한다 :

=를 사용
scope: { 
    'currentPage': '@', 
    'pageSize': '@', 
} 

는 값이 바인딩 두 가지 방법으로 데이터를 수행하기 위해 부모 범위의 값에 대한 참조가 될 것으로 기대하고있다. =을 사용하려면 컨트롤러에 currentPagepageSize 항목을 입력 한 다음 <paging page-size="pageSize" current-page="currentPage"></paging>을 입력해야합니다.

편집 : 당신이 parseInt를 사용해야합니다, 그래서 currentPagepageSize 문자열을 만들 것입니다 @ 사용.

'currentPage':'=', 

을하지만 당신은 index.html을의 지침을 만들 때

<paging page-size="1" current-page="1"></paging> 

그래서 거기에 값을 전달 :

1

문제는 당신이 당신의 범위에 currentPage의 모델을 할당하는 것입니다 이 문제를 해결하는 두 가지 방법이 있습니다. 하나는 컨트롤러에 현재 페이지라는 다른 변수를 작성한 다음 지시문을 다음과 같이 변경하는 것입니다.

app.controller('MainCtrl', function($scope) { 
    $scope.name = 'World'; 
    $scope.currentPage = 1; 
}); 

HTML

<paging page-size="1" current-page="currentPage"></paging> 

또는 당신이 당신의 지시에 범위를 만들 방법을 변경 :

scope:{ 
    'currentPage':'@', 
    'pageSize':'=', 
} 

당신이로 오는대로,이 경로를 사용하는 경우를 int로 구문 분석해야합니다 문자열

관련 문제