2016-09-18 2 views
1

내 슬림 한 파일에 각도를 통합해야합니다. 다른 각도로 블록을 변형하는 방법을 모르겠습니다. 나는 각 다른 if 문 겨하지 않아도하지만 난 당신이 찾고있는 무엇이각도 js에 else else가있는 경우

ng-if="cart.empty" 
    cart is empty 

    ng-else-if cart.invalid 
    can't proceed 

    ng-else 
    ng-repeat="cart.Items as item" 
      item.description 

답변

1

같은 몇 가지 일을 달성하고자하는 각

- if @cart['empty'] 
    cart is empty 
- elsif @cart['invalid'] 
    can't proceed 
- else 
    [email protected]['Items'].each do |item| 
     #{item['description']} 

에 코드 이하로 변경하는 방법이 알고 ng-switch 지시어입니다.

$scope.getStatus = function(cart) { 
    if (cart.empty) return 'empty'; 
    if (cart.invalid) return 'invalid'; 
} 

을 그리고 지시어 사용 :

먼저 스위치 조건을 포함하는 몇 가지 변수를 가져올

<div ng-switch = "getStatus(cart)"> 
    <div ng-switch-when = "empty">Cart is empty</div> 
    <div ng-switch-when = "invalid">Can't proceed</div> 
    <div ng-switch-default>.... ok ....</div> 
</div> 
+0

이 아이디어는 의미가 있습니다. 그러나 레일즈 컨트롤러가 에러를 리턴하면 @error는 에러 메시지와 카트 변수를 포함하지 않습니다. 스위치 블록에 오류 (해당되는 경우)를 추가하려면 어떻게해야합니까? –

+0

@tumati 당신이 범위에 오류가 있다고 가정하고,'ng-switch = "getStatus (cart, error)"'함수에 에러를 주면 getStatus는 'error'를 리턴하고 그것은 새로운 ng-switch' 문입니다. 이제는 당신이 어떤 접근법을 개발할 수있는 '스위치 (ng-switch)'에 대해 알았으므로 모든 것을 할 수는 없습니다. – floribon

관련 문제