当我发现当它放在< div>之下时它不起作用,我试图在我的网页上使用twitter bootstrap popover.与ng重复.它在一个div类中的顶部工作正常,不包含ng,有谁知道为什么会这样发生,我该如何解决这个问题?
<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>"
解决方法
我不明白为什么这个问题投了票.这是一个很好的例子,说明如何理解角度范围的原理.范围基本上附加到DOM元素.所有控制器,重复等只能在此DOM元素(范围)中起作用.当Boostrap创建一个popover时,它创建一个新的DOM元素并将其附加到body,所以现在它不在范围之内(它不在元素中).这是了解Angular的一个关键功能.
幸运的是,Bootstrap有解决方案. Popover有一个容器选项,可以将popover附加到特定元素而不是body.放置具有角度控制器的DOM元素的jQuery选择器. http://twitter.github.io/bootstrap/javascript.html#popovers(参见选项)