我试图找到这个问题的答案,但找不到任何答案。
我正在使用 bs-popover ,我在 ng-repeat 中使用popover代码,
<div ng-repeat="i in [1,2,3,4.....100]">
<a data-title="test popover" data-template="/test/test.html" bs-popover trigger="click" placement="left">Click Me for Test </a>
</div>
问题是因为popover代码是ng-repeat,所以文件被下载了100次(循环执行n次),如浏览器的网络选项卡所示
有什么办法可以避免这个问题吗?是否可以仅在点击时加载文件?
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:0)
也许不是传入标记中的文件,而是通过JavaScript来实现。如下所示:
<div ng-repeat="i in [1,2,3,4.....100]">
<a data-title="test popover" bs-popover ng-click="popover($event)">Click Me for Test </a>
</div>
然后从控制器
$scope.popover = function($event){
angular.element($event.target).popover({
template: '/test/test.html',
placement: 'left'
});
}
答案 1 :(得分:0)
你应该强制你的html进入缓存,第一次通过$ hhtp获取它,然后将它放在$ cacheFactory.cache的实例中,以便从那里提供对该URL的下一个$ http调用,
https://docs.angularjs.org/api/ng/type/ $ cacheFactory.Cache