2017-05-19 1 views
0

값을 정렬하기위한 필자의 지시어 필터는 페이지로드에서만 작동합니다. 나중에 ng-model 변경 사항이 컬렉션을 업데이트하지 않으며 필터가 전혀 작동하지 않습니다. 당신이 날 같은 잘못 찾을 경우angualrjs - ng-model 변경에 필터가 작동하지 않음

, 수정하시기 바랍니다 나 문제를 해결하는 데 도움이

하나 내 데모 업데이트? 여기

내 코드입니다 : 내가 흐림 목록을 정렬 된 샘플을 업데이트 한

app.directive("customGrid", function($timeout,$filter){ 
    return{ 
    scope:{ 
     "func":"&func", 
     "pages":"=", 
     "model":"=ngModel" //not updating? 
    }, 
    template:temp.join(''), 
    link : function(scope, element, attrs){ 
     scope.slice = null; 

     scope.sortIt = function(value){ 
     console.log(value) 
     scope.slice = $filter('orderBy')(value, '', true);//works on load 
     $timeout(function(){ 
      scope.$apply(); 
     }) 
     } 

     $timeout(function(){ 
     scope.slice = scope.pages.pin; 
     scope.sortIt(scope.slice); 

     }) 

    } 
    } 
}) 

Live Demo

답변

1

, 문제가 입력 상자의 모델이었다, 우리는 업데이트해야 정렬 할 목록.

또한 type = "number"을 추가해야합니다. 그렇지 않으면 지시문 컨트롤러에서 매번 숫자로 변환해야합니다.

당신은 실수로 영업 이익의 plunker 자체를 공유 plunker example

var temp = [ 
    "<ul><li ng-repeat='(key,value) in slice track by $index'>", 
    "<input ng-model=slice[key] type='number' ng-blur=sortIt(slice) /></li></ul>" 
    ] 
+0

확인 나는 오 @tanmay : – tanmay

+1

을 것 같아요. 고마워요 !!! 그것을 업데이트했습니다. :) –