有一个很好的技巧,使用jquery popover,并使用我们的数据填充隐藏的div,并告诉单击的按钮显示一个弹出窗口并将div渲染为该popover的内容。当你有多个div时,你必须按类分开它们,这就是我们遇到问题的地方。 angularjs代码(例如ngrepeat)不会转换为html代码,实际上没有html div来告诉jquery渲染(如果你看一下页面的来源,angularjs ng-repeats不会被提取到html元素并保持为角度语法)。因为这些div将通过ngrepeat生成,而jquery不明白将不会有html div。解决办法是什么? (这是我的代码:)
<script type="text/javascript">
$(function () {
$('.product-show').each( function() { $(this).popover({
html : true ,
content : function() { return $(".editform"+this.id).html(); },
placement : 'bottom'
});
});
});
</script>
<li ng-repeat='product in products' class="span3">
<a class='btn btn-mini product-show' id={{product.id}} data-value={{product.id}} >show</a>
<div class="editform{{product.id}} hide">
Hello!
</div>
</li>