別の方法として、Angular JS と Boostrap 3 をモバイル開発用に統合したいと考えています。bootstrap.js の統合を別の方法で克服しようとしました。
コンポーネントごとに bootstrap.js の動作を正確に再現しようとする代わりに、基本的に、イベントを介して相互に通信する 2 つの汎用ディレクティブを作成し、2 つ以上の DOM ノードのアクティブ/非アクティブ状態を同期させました。状態トラフ クラスを反映することで、ほとんどすべての基本的な bootstrap.js コンポーネントの相互作用を再現できるようになります。
したがって、最も一般的なアプリケーションでは、bootstrap 3 css とこれらの数行の js だけで、ほとんどすべての boostrap 3 機能を利用できます。
ここでコードを取得できます。プロジェクト外でも機能し、ニーズに合わせて調整できます: https://github.com/mcasimir/mobile-angular-ui/blob/master/src/coffee/directives/toggle .コーヒー。
これは Coffeescript ですが、js2coffee.org から簡単に js に変換できます。
http://mobileangularui.com/#toc6のドキュメントも参照してください。
これは、動作の基本を示す簡単な例です。
<p toggleable id="lightbulb" active-class="text-primary" class="text-default">
<i class="fa fa-lightbulb-o"></i>
</p>
<div class="btn-group justified nav-tabs">
<a toggle="toggle" target="lightbulb" active-class="active" class="btn btn-default" href>
Toggle
</a>
<a toggle="on" target="lightbulb" class="btn btn-default" href>
Turn On
</a>
<a toggle="off" target="lightbulb" class="btn btn-default" href>
Turn Off
</a>
</div>
これらを使用してタブ コンポーネントを作成する方法は次のとおりです。
<ul class="nav nav-tabs">
<li><a href="#Tab1" toggle="on" parent-active-class="active">Tab 1</a></li>
<li><a href="#Tab2" toggle="on" parent-active-class="active">Tab 2</a></li>
<li><a href="#Tab3" toggle="on" parent-active-class="active">Tab 3</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane" toggleable active-class="active" default="active" id="Tab1" exclusion-group="myTabs">
<h3 class="page-header">Tab 1</h3>
<p><!-- ... --></p>
</div>
<div class="tab-pane" toggleable active-class="active" id="Tab2" exclusion-group="myTabs">
<h3 class="page-header">Tab 2</h3>
<p><!-- ... --></p>
</div>
<div class="tab-pane" toggleable active-class="active" id="Tab3" exclusion-group="myTabs">
<h3 class="page-header">Tab 3</h3>
<p><!-- ... --></p>
</div>
</div>
さらに、異なるノードから同じタブを制御することもできます。
<div class="btn-group justified nav-tabs">
<a class="btn btn-default" href="#Tab1" toggle="on" active-class="active">Tab 1
</a>
<a class="btn btn-default" href="#Tab2" toggle="on" active-class="active">Tab 2
</a>
<a class="btn btn-default" href="#Tab3" toggle="on" active-class="active">Tab 3
</a>
</div>
これがあなたのニーズに合うかどうかはわかりませんが、この方法で、専用ライブラリを必要とせずに、少なくともタブ、アコーディオン、折りたたみ式、モーダル、およびドロップダウンを作成できます。また、ブートストラップ マークアップにまったく依存しないため、ブートストラップ 2 と 3 のどちらでも機能することに注意してください。