我有这个问题,我试图点击一个 div 隐藏所有其他相同“种类”的 div。基本上我必须从子范围设置所有其他“兄弟”范围的变量。
为了说明这一点,我创建了以下内容:
HTML
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<div ng-repeat="model in models" ng-controller="MyChildCtrl">
<a ng-click="toggleVisibility()">toggle {{ model.name }} {{ visibility }}</a>
<div ng-show="visibility">
{{ model.name }}
</div>
</div>
</div>
</div>
JavaScript
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
console.debug('scope');
$scope.models = [
{ name: 'Felipe', age: 30 },
{ name: 'Fernanda', age: 28 },
{ name: 'Anderson', age: 18 }
];
}
function MyChildCtrl($scope) {
$scope.visibility = false;
$scope.toggleVisibility = function() {
$scope.visibility = !$scope.visibility;
}
}
JSFiddle:http: //jsfiddle.net/fcoury/sxAxh/4/
我希望,每次我显示其中一个 div 时,所有其他 div 都会关闭,除了单击的那个。
有任何想法吗?