は大丈夫解決策のように思えるTRUEフラグと
<!doctype html>
<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-animate.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.3.3.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div ng-controller="AccordionDemoCtrl">
<uib-accordion close-others="oneAtATime">
<uib-accordion-group heading="Accordion-1" ng-click="call(is_open)">
Accordion-1
</uib-accordion-group>
<uib-accordion-group heading="Accordion-2">
Accordion-2
</uib-accordion-group>
</uib-accordion>
</div>
</body>
</html>
<script type="text/javascript">
angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('AccordionDemoCtrl', function ($scope)
{
$scope.is_open = false;
$scope.call = function(status)
{
if(status==true)
{
$scope.is_open = false;
console.log("close")
}
else
{
$scope.is_open = true;
console.log("open")
}
}
});
</script>
FALSEにシンプルなロジックを使用しています。何が起きているのかは明らかです。あなたはd3ディレクティブにそのプロパティを渡して$を見ることができます。 – steezeburger