現在、ドロップダウン コンテンツをトリガーするトグル ボタンのリストがあります。これらのボタンに機能を与えるために、コントローラーにトグル機能があります。ボタンがすべて同じスコープを共有しているため、私の問題が発生していると思います。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;
}