Angularjs 避免-ng在循环中每次重复下载文件

Angularjs 避免-ng在循环中每次重复下载文件,angularjs,ng-repeat,angularjs-ng-click,Angularjs,Ng Repeat,Angularjs Ng Click,我试图找到这个问题的答案,但没有找到 我使用的是bs popover,我使用的是ng repeat中的popover代码 问题是,由于popover代码处于ng repeat状态,文件被下载了100次n次循环执行,如浏览器的“网络”选项卡中所示 有没有办法避免这个问题?是否可以仅在单击时加载文件 任何帮助都将不胜感激。提前感谢。也许您可以通过JavaScript来完成,而不用在标记中传递文件。比如: <div ng-repeat="i in [1,2,3,4.....100]">

我试图找到这个问题的答案,但没有找到

我使用的是bs popover,我使用的是ng repeat中的popover代码

问题是,由于popover代码处于ng repeat状态,文件被下载了100次n次循环执行,如浏览器的“网络”选项卡中所示

有没有办法避免这个问题?是否可以仅在单击时加载文件


任何帮助都将不胜感激。提前感谢。

也许您可以通过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>

您应该强制html进入缓存,第一次通过$hhtp获取它,然后将其放入$cacheFactory.cache的实例中,以便从那里提供对该url的下一个$http调用


$cacheFactory.Cache

我假设您指的是test/test.html??对吗?是的@DayanMorenoLeon test.html显示在网络选项卡中-100次实际上每次都会得到缓存的模板。请注意,状态代码实际上是304?不,状态代码每次都是200,而不是304:很抱歉,如果我遗漏了什么,我会得到TypeError:undefined不是一个函数,它指向$event.target.popoverSorry行,您可以尝试我的编辑吗?我在$event.target周围添加了angular.element
<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'
    });
}