2014-03-19 2 views
0

i.typ가 변경되면 ng 스위치가 아래 코드에서 업데이트되지 않습니다. 어쩌면 이것은 스위치를 작동시키는 반복과 관련이 있을까요? 페이지를 다시로드 할 때 작동하지만 모델이 변경되지 않습니다.ng-repeat에서 Ng 스위치가 작동하지 않습니다.

<div id="sceneCtrl" ng-controller="SceneController"> 

    <transform id="{{'annotation'+i.ID}}" ng-repeat="i in vm.sharedService.SceneAnnotations"> 
     <group ng-switch on="{{i.typ}}"> 
      <transform ng-switch-when="0" > [subtree 0...] </transform> 
      <transform ng-switch-when="1" > [subtree 1...] </transform> 
     </group> 
    </transform> 

</div> 

답변

2

on="{{i.typ}}"에서 중괄호를 제거하십시오.

대신을 시도해보십시오

<group ng-switch on="i.typ"> 
+0

감사하지만,이게 무슨 문제가 아니며 – daniel

+0

업데이트 : 중괄호가 문제가되었습니다! 감사 – daniel

2

내가 함께 NG 스위치는 NG 반복의 내부 모습의 예를 넣습니다. 에 관해서는 http://plnkr.co/edit/0lbqKjlgo1Y8aLNMoGNs?p=preview


:

<div ng-repeat="player in myPlayers"> 
    <!-- just so you can see the repeat is working normally: --> 
    Player: <span class="playername" ng-bind="player.name"></span> 

    <!-- here is the switch: --> 
    <div ng-switch on="player.gameRole"> 
    <div ng-switch-when="IT">YOU ARE IT</div> 
    <div ng-switch-when="NOT IT">This player is NOT it</div> 
    </div> 
    <br /><br /> 
</div> 

여기 plunker 보면,이 라이브를 보려면 : 예제 작품을 만들기 위해 나는 당신의 변수가 있지만, 아이디어와 구문을 정확히 동일을 교체했다 변수의 값이 변경 될 때 스위치가 변경되지 않는 이유에 대한 다른 질문이 있습니다. 가장 일반적인 이유는 지시어에 있거나 "$ scope. $ apply()"가 호출되지 않기 때문입니다. 이 라인을 추가하면 (아마도) 작동 할 것입니다!

행운을 빈다.

관련 문제