2013-02-16 78 views
16

我试图在我的网页上使用twitter bootstrap弹出窗口,当我发现它在<div>ng-repeat以下时无法正常工作。它在div类中的顶部工作正常,不包含ng-有谁知道为什么会发生这种情况,我该如何解决该问题?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

您需要为任何人发布plunker或小提琴以排除故障。但在此期间,你是否知道[ui-bootstrap](http://angular-ui.github.com/bootstrap)?它提供了Twitter Bootstrap jQuery库的纯AngularJS实现。 – 2013-02-16 06:28:52

+0

感谢您的建议!我会研究它,也就是说,我也会尝试很快发布一个猛击者。谢谢! = D – user1166085 2013-02-16 07:30:31

+3

我也不明白为什么这个问题是投下来的。 – Vivek 2013-06-30 08:19:10

回答

6

目前有在免得2个项目,进行了已写入引导对AngularJS酥料饼的指令:

不同的是,http://angular-ui.github.com/bootstrap/原产AngularJS指令,所以你不需要任何第三方的JavaScript依赖。

这两个项目都托管在GitHub上,因此您可以看到实现并从中学习,决定更改或仅使用其中一个项目。

+0

它会干扰twitter引导? – user1166085 2013-02-17 03:36:11

+0

这两个项目都演示了带有老版本角度的popover。当你测试像1.0.6或1.1.4这样的现代角码时,它停止工作。除非添加部分模板选项,否则弹出窗口和工具提示是无用的。 – Richard 2013-05-03 17:19:12

+0

@Richard我不确定你的意思是“停止工作”,因为至少http://angular-ui.github.com/bootstrap/的指令对最新的AngularJS工作正常:http://plnkr.co /编辑/ FECkoAJgSbBVFdvzk6mx?p =预览 – 2013-05-03 17:33:52

11

我不明白为什么这个问题得到了投票。这是如何理解角度范围原理的一个很好的例子。范围基本上附加到DOM元素。所有的控制器,重复等都只能在这个DOM元素(范围)中工作。当Boostrap创建一个弹出窗口时,它会创建一个新的DOM元素并将其附加到主体,所以现在它不在范围内(它不在元素中)。这是了解Angular的一个关键特性。

幸运的是,Bootstrap有解决方案。 Popover有一个container选项,可让您将弹出窗口追加到特定元素而不是主体。在那里放置具有角度控制器的DOM元素的jQuery选择器。 http://twitter.github.io/bootstrap/javascript.html#popovers(请参阅选项)