AngularJS UIの場合Bootstrapアクティブにしたいisopenwhenpanel-headingがクリックされましたが、方法が見つかりませんでした。このバージョンでは、リンクをクリックした場合にのみアクティブになります。
これが私が試したことです。
<accordion-group is-open="isopen">
<accordion-heading ng-click="isopen=!isopen">
I can have markup, too!
<i class="pull-right glyphicon"
ng-class="{'glyphicon-chevron-down': isopen, 'glyphicon-chevron-right': !isopen}"></i>
</accordion-heading>
This is just some content to illustrate fancy headings.
</accordion-group>
ng-click = "isopen =!isopen"
前もって感謝します..
編集:より良い解決策は、ng-click="isopen=!isopen"
をaccordion-group
要素に移動することです。このようにして、パネルの見出しの任意の場所(エッジを含む)をクリックしてパネルを開閉します。
<accordion close-others="oneAtATime">
<accordion-group is-open="isopen" ng-click="isopen=!isopen">
<accordion-heading >
I can have markup, too!
<i class="pull-right glyphicon"
ng-class="{'glyphicon- chevron-down': isopen, 'glyphicon-chevron-right': !isopen}">
</i>
</accordion-heading>
This is just some content to illustrate fancy headings.
</accordion-group>
</accordion>
編集終了
<accordion-heading>
のコンテンツを<div>
で囲む
<accordion close-others="oneAtATime">
<accordion-group is-open="isopen" >
<accordion-heading ng-click="isopen=!isopen">
<div>
I can have markup, too!
<i class="pull-right glyphicon"
ng-class="{'glyphicon- chevron-down': isopen, 'glyphicon-chevron-right': !isopen}">
</i>
</div>
</accordion-heading>
This is just some content to illustrate fancy headings.
</accordion-group>
</accordion>
非常にシンプルなCSSベースのソリューション:
.panel-heading {
padding: 0;
}
.panel-title a {
display: block;
padding: 10px 15px;
}
ただし、複雑な見出しは使用していません。以下に示すように見出し属性のみを使用しているため、上記の例ではテストしていません。
<uib-accordion-group heading="Details" class="form-horizontal" is-open="true">
必要なことは、ヘッダーがaccordion-group.html
イベントを受け取るようにng-click
テンプレートを変更することです。
<div class="panel {{panelClass || 'panel-default'}}">
<div class="abc panel-heading" ng-keypress="toggleOpen($event)" ng-click="toggleOpen($event)" >
<h4 class="panel-title">
<a href tabindex="0" class="accordion-toggle" accordion-transclude="heading"><span ng-class="{'text-muted': isDisabled}">{{heading}}</span></a>
</h4>
</div>
<div class="panel-collapse collapse" collapse="!isOpen">
<div class="panel-body" ng-transclude></div>
</div>
</div>
次に、コードでaccordion-group
のテンプレートURLとして指定します
<accordion-group heading="Dynamic Body Content" template-url="accordion-group.html">