2016-06-03 4 views
1

나는이 작업을 100 % 잘못하고 있다고 확신하지만 별도의 기능을 토글하는 세 개의 버튼이 있습니다. 내 컨트롤러에서 함수를 작성하는 가장 좋은 방법을 결정하려고합니다.여러 버튼을위한 함수 작성하기

버튼 :

<button ng-class="{selected:vm.selectedOption==='1'}" ng-click="vm.selectOption('1')">1</button> 
<button ng-class="{selected:vm.selectedOption==='2'}" ng-click="vm.selectOption('2')">2</button> 
<button ng-class="{selected:vm.selectedOption==='3'}" ng-click="vm.selectOption('3')">3</button> 

내 방법 :

vm.selectOption = function(1) { 
    // function 
}; 
vm.selectOption = function(2) { 
    // function 
}; 
vm.selectOption = function(3) { 
    // function 
}; 

또는

vm.selectOption = function(option) { 
if (vm.selectedOption==='1') { 
    // function 
}; 
if (vm.selectedOption==='2') { 
    // function 
}; 
if (vm.selectedOption==='3') { 
    // function 
}; 
}; 

또는 내가 보이지 않아요이이 작업을 수행하는 더 정확한 방법이 상상 . 방금 설정 한 옵션에 따라 특정 무언가를 찾고 있다면

vm.selectOption = function(option) { 
    vm.selectedOption = option; 
} 

:

답변

2

당신은 너무 함수에 선택하는 옵션을 전달하는 그래서

vm.selectOption = function(option) { 
    vm.selectedOption = option; 
    switch(option) { 
     case '1': 
      // do something 
      break; 
     case '2': 
      // do something else 
      break; 
     case '3': 
      // do something completely different 
      break; 
    } 
} 
+0

, 나는 이해 부분,하지만 어떻게 다른 옵션을 기반으로 기능을 설정합니까? – nightowl

+0

내가 무엇을 요구하는지 이해하고 있다면 내 업데이트가 적용되어야합니다. 그렇지 않다면, 당신이 한 일을 조금 더 설명 할 수 있겠습니까? – Lex

+0

스위치! 나는 명백한 것이 빠져 있음을 알았다. 이것은 내가 찾고 있었던 바로 그 것이다. 고맙습니다! – nightowl

관련 문제