2015-01-29 4 views
0

로드 된 컨트롤러 (페이지)에 따라 ng-click에서 다른 기능을 수행 할 수 있습니까? ng-click시 동적 기능 호출

<a ng-click="removeEvent(event)" class="top_menu_link"> REMOVE</a> 

내가 같은 버튼이 제거 작업을하지만 서로 다른 모델을 수행 할 말. 이벤트, 사람 등을 말하십시오. 따라서이 버튼은보기 밖에 있습니다.

그래서 내 생각에 removeItem('person')과 같은 매개 변수를 사용하여 함수를 호출하면 elses 집합을 갖게됩니다. 다른 해결책이 있는지 궁금합니다.

답변

0

당신은 같은 것을 수행 할 수 있습니다

<a ng-click="fn.removeEvent(event)" class="top_menu_link"> REMOVE</a> 

그런 다음이 앵커가있는 컨트롤러를 fn을 정의 : 개별 페이지 (/ 모델)에서

$scope.fn = {}; 

removeEvent 설정 :

$scope.fn.removeEvent = function(event){ 
    // Model-specific stuff 
}; 

obje에 기능을 설정하기 때문에 ct는 이미 상위 범위에 정의되어 있지만 부모 범위의 앵커는 함수에 대한 참조를 보유하고 있지만 함수를 간단하게 재정의 할 수 있습니다.

P.S : 함수가 설정되지 않은 경우 앵커를 숨길 수 있습니다 :

<a ng-if="fn.removeEvent" ng-click="fn.removeEvent(event)" class="top_menu_link"> REMOVE</a>