2013-02-16 15 views
16

<div>の下に置かれたときに動作しないことがわかったときに私のウェブページにtwitterブートストラップ・ポップ・オーバーを使用しようとしました。 ng-が含まれていないdivクラスのトップで正常に動作します。なぜそれが起こったのか誰にもわかりますし、どうすれば問題を回避できますか?現時点では、既に書かれAngularJSのためのブートストラップのポップオーバーの指示を得たLEST 2つのプロジェクトでtwitter bootstrap popoverはangularjsで動作しません

<h3>Students Without Team</h3> 
<div class="accordion" id="studentNoTeamAccordion" > 
     <a href="#" class="btn btn-large btn-primary" rel="popover"data-html="true" 
      data-content=" 
       <form> 
        <textarea class='input-xlarge' rows='12' type='text'></textarea> 
        <P> 
         <input class='btn btn-primary' type='submit' value='Send' /> 
       </form>" 
      data-placement="right" data-original-title="Enquiries">Send Enquiries 
     </a> 
    <div class="accordion-group" ng-repeat="(key,val) in stud_finding">< 
     <a href="#" class="btn btn-large btn-primary" rel="popover"data-html="true" 
     data-content=" 
       <form> 
        <textarea class='input-xlarge' rows='12' type='text'></textarea> 
        <P> 
         <input class='btn btn-primary' type='submit' value='Send' /> 
       </form>" 
+0

誰でもこの問題のトラブルシューティングを行うには、プランナーまたはフィドルを投稿する必要があります。しかし、その間、あなたは[ui-bootstrap](http://angular-ui.github.com/bootstrap)を知っていますか?これは、Twitter Bootstrap jQueryライブラリの純粋なAngularJS実装を提供します。 –

+0

あなたの提案に感謝します!私はそれを調べるつもりですが、私はまもなくプランカを投稿しようとします。ありがとう! = D – user1166085

+3

私はこの質問が投票された理由を理解できません。 – Vivek

答えて

6

がされています

違いはhttp://angular-ui.github.com/bootstrap/がネイティブであるということですAngularJSディレクティブを使用しているため、サードパーティJavaScriptの依存関係は必要ありません。

両方のプロジェクトはGitHubでホストされているため、実装を確認したり、それらから学んだり、プロジェクトの1つを変更したり、ただ1つを使用したりすることができます。

+0

これは、Twitterのブートストラップに干渉しますか? – user1166085

+0

両方とも古いバージョンの角度でデモポップオーバーを行います。 1.0.6または1.1.4のような最新の角度コードをテストすると、動作しなくなります。 Popoverとツールチップは、部分的なテンプレートオプションを追加しない限り役に立たない。 – Richard

+0

@リチャード私は、少なくともhttp://angular-ui.github.com/bootstrap/の指示文が最新のAngularJSでうまく動作しているので、「動作を停止する」という意味がわかりません。http://plnkr.co/edit/FECkoAJgSbBVFdvzk6mx?p = preview –

11

この質問が投票された理由はわかりません。スコープの原理を理解するための良い例です。スコープは、基本的にDOM要素に関連付けられています。すべてのコントローラ、リピートなどは、このDOM要素(スコープ)でのみ機能します。 Boostrapがポップオーバーを作成すると、新しいDOM要素が作成されてbodyに追加されるため、スコープの外にあります(要素にはこれ以上ありません)。それはAngularについて理解するための重要な機能です。

幸いにも、ブートストラップには解決策があります。 Popoverにはcontainerオプションがあります。このオプションを使用すると、本文の代わりに特定の要素にポップオーバーを追加できます。角度コントローラーを持つDOM要素のjQueryセレクターを配置します。 http://twitter.github.io/bootstrap/javascript.html#popovers(オプションを参照)

関連する問題