0

現在、ドロップダウン コンテンツをトリガーするトグル ボタンのリストがあります。これらのボタンに機能を与えるために、コントローラーにトグル機能があります。ボタンがすべて同じスコープを共有しているため、私の問題が発生していると思います。1 つのボタンをクリックして開くと、すべてが開き、1 つを閉じると、すべてが閉じます。

これがスコープの問題であると仮定すると、一度に 1 つのボタンのみが開くように、これらのそれぞれに独自のスコープを与えるにはどうすればよいでしょうか?

ありがとう!

私のマークアップ:

<div ng-controller="MyController">
    <ul>
        <li ng-repeat="item in items">
            <a ng-click="toggle()">Drop Down</a>
            <ul ng-show="isVisible">
                <li ng-repeat="thing in things">
                    <a ng-href="{{something.url}}">{{something.text}}</a>
                </li>
            </ul>
        </li>
    </ul>
</div>

私のコントローラー(関連部分):

function NotificationController($scope) {

    // I toggle the value of isVisible.
    $scope.toggle = function() {
        $scope.isVisible = ! $scope.isVisible;
    };

    // Default the blocks to be visible.
    $scope.isVisible = false;

}
4

1 に答える 1