1. ホーム
  2. angularjs

[解決済み】Angularjs accordion ng-click on panel-header

2022-02-17 14:24:42

質問

AngularJS UI Bootstrapで、以下の機能を有効にしたい。 isopen というときに パネルヘッダー がクリックされるのですが、方法が見つかりませんでした。 このバージョンでは、リンクをクリックした場合のみ有効です。

試してみたのはこんな感じです。

<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 "です。

Plunkerで試したリンクはこれです。

AngularJS UI Bootstrap

ありがとうございました。

どのように解決するのですか?

EDITです。 より良い解決策は 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>

END EDIT

の内容を囲みます。 <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>