1

ng-repeat 内で ng-switch を使用し、スイッチオンにスコープを使用する方法について質問がありますか?

例 :

 <div ng-repeat="item in submenu">
            <div class="animate-switch"  ng-switch-when="{{item.filter}}">
                <div class="navbar navbar-default navbar-static-top {{item.filter}}">
                    <div  class="navbar-collapse collapse" id="navbar-{{item.filter}}">
                        <ul class="nav navbar-nav subnav">
                            <li ng-repeat="subitem in item.sub" class="items"  >
                                <a ng-href="{{subitem.link}}" class="{{selected }}" ng-click="selectfiltersub(subitem.filter)">{{item.name}}</a>
                            </li>
                        </ul>
                    </div>

                </div>
            </div>
        </div>

$scope.submenu :

 $scope.submenu =[{
            name:'Glasba',
            filter:'music',
            sub:[{
                name:'Koncerti',
                filter:'Concerts'
            },{
                name:'Klasika',
                filter:'Clasic'
            },{
                name:'Elektronika',
                filter:'Elektro'
            },{
                name:'Indy',
                filter:'Indy'
            },{
                name:'Teater',
                filter:'Theater'
            }]
        }]

したがって、問題は ng-switch-when = "{{item.filter}}" <-- 認識しません。出力は音楽のコード ng-swith-when="{{item.filter}}" と同じです。私に何ができる ?アンサーのthx!

例の画像ここに画像の説明を入力<--上がメニューで udner 50px の高さがサブメニューで、コンテンツはありません ...

4

1 に答える 1

2

ng-switch ドキュメントから:

照合する属性値を式にすることはできないことに注意してください。これらは、照合するリテラル文字列値として解釈されます。たとえば、式の値に対してではなくng-switch-when="someVal"、文字列に対して一致します。"someVal"$scope.someVal

ng-if代わりに使用することを検討してください:

<div class="animate-switch"  ng-if="item.filter === 'music'">
  filter equals 'music'
</div>
于 2014-12-06T01:55:50.577 に答える