2013-03-08 6 views
2

긴 목록의 필터 인 입력 필드가 있습니다. 입력 필드 옆에 검색 아이콘이 있습니다. 기본적으로 사용자가 입력을 시작하면 아이콘 클래스를 변경해야합니다. 내 컨트롤러 내부AngularJS, 입력이 변경되면 버튼에 클래스 설정

<input type="text" ng-change="change()" ng-model="query" /> 
<button class="btn"><i class="icon-search"></i></button> 

내가 정의 : 이용 분야에서의 입력이 있으면 내가 결정에 대해 가지 방법

$scope.change = function() 
{ 
    //change the class of button based on the length of the input field  
} 

정말 확실하지

나는 나의 텍스트 필드의 설정과 같이이 각도를 변경하고 수업을 변경. 제가 여기서 올바른 접근을하고 있습니까? 감사합니다

답변

4

당신은 당신의 NG 모델

<i ng-class="{'icon-search': query.length}"></i> 
+0

죄송합니다 : 클래스 이름을 반환해야합니다 귀하의 기능 $의 scope.change, 그래서

<button ng-class="change()"><i class="icon-search"></i></button> 

와 컨트롤러 기능은 같을 것입니다. 클래스는 처음에는 검색 아이콘이며'icon-refresh'로 바꾸려면 클래스가 필요합니다. 나는 그것의 '고맙다고 생각했다. – Ronnie

1

그냥 ngClass를 사용에 NG-클래스를 사용할 수 있습니다. 더 명확하게하기 위해,

$scope.change = function() { 
    if(something){ 
     return "classA"; 
    } 
    else{ 
     return "classB"; 
    } 
}; 
+0

언제 change() 메서드가 호출됩니까? UI가 처음 렌더링 될 때만? –

관련 문제