Я могу заставить его работать без ng-repeat. Однако, когда у меня есть список элементов - Open не работает.
1. Я должен иметь возможность открывать одну панель за раз (иногда она открывает все)
2. is-Open должен получить значение true при открытии панели
3. Если пользователь нажимает на список содержимого панели после открытия панели, я должен иметь возможность извлекать значение (аналогично открытому на панели).AngularJS Accordion is-open check with ng repeat
HTML
<body ng-app="myApp">
<div class="col-sm-6" ng-controller="Controller">
<div class="column-nav">
<uib-accordion close-others="oneAtATime">
<uib-accordion-group ng-repeat="group in groups" ng-scroll="group in groups" is-open="$parent.isOpen">
<uib-accordion-heading ng-model="checkTitle">
{{group.title}}
</uib-accordion-heading>
<a>{{group.content}}</a>
</uib-accordion-group>
</uib-accordion>
</div>
<div>
Panel Header Open: {{isOpen}} <br>
Panel oneAtATime: {{oneAtATime}}
</div>
</div>
</body>
app.js
myApp.controller('Controller', ['$scope', function($scope) {
$scope.isOpen = false;
$scope.oneAtATime = true;
// Data
$scope.groups = [
{
title: "Dynamic Group Header - 1",
content: "Content - 1"
},
{
title: "Dynamic Group Header - 2",
content: "Content - 2"
}
];
//log
$scope.$watch('isOpen', function(){
console.log(" watch isOpen:" +$scope.isOpen);
}, true);
}]);
Спасибо за вашу помощь и предложения.
спасибо, я имею в виду, если я нажимаю на Content-1 с первой панели, мне нужно знать, что пользователь нажал этот контент. Исходя из этого, я могу загружать страницы с помощью маршрутизатора. Поэтому я надеялся, что если аккордеон имеет что-то подобное, то функция open-open. –