Javascript 带ng重复的角度指令,ng显示“;“显示更多”;和惰性负载

Javascript 带ng重复的角度指令,ng显示“;“显示更多”;和惰性负载,javascript,angularjs,directive,ng-repeat,Javascript,Angularjs,Directive,Ng Repeat,我使用这个指令,迭代数组“myArr”,过滤一些条件 <myDirective myData='item' ng-repeat="item in filteredArr = (myArr | filter:searchField | filter:checkboxFilter)" ng-show="$index < visible" /> 这给了我两个问题,我想了解一下: a) ng show部分之所以存在,是因为我有一个条件来处理此问题:

我使用这个指令,迭代数组“myArr”,过滤一些条件

<myDirective 
    myData='item' 
    ng-repeat="item in filteredArr = (myArr | filter:searchField | filter:checkboxFilter)" 
    ng-show="$index < visible" 
/>

这给了我两个问题,我想了解一下:

a) ng show部分之所以存在,是因为我有一个条件来处理此问题:

<p>
    <a ng-click='visible=visible+10' ng-show='visible < filteredArr.length'>Show more</a>
</p>

显示更多

以显示或隐藏“显示更多”部分。我想不出其他办法来切换这个和/或项目本身$scope.visible在控制器内部,一旦启动,就设置为10。我不能使用limito,因为它不能让我确定是否还有更多的内容要显示,因为它当然会将数组“切碎”到设置的限制

b) 在指令内部,模板打印

<img ng-src="..."> 

标签。我如何防止这些图像加载,只要它们没有显示在上面的结构中


提前多谢

使用
ng if
代替
ng show

ng show
不同,falsey
ng if
从DOM中删除元素

编辑:

此外,事实上,您可以使用
limito
filter,这将使您的代码更加干净:

<div ng-init="limit = 2">
  <foo ng-repeat="item in items | limitTo: limit as results"></foo>
</div>
<button ng-hide="results.length === items.length" 
        ng-click="limit = limit +2">show more...</button>

显示更多。。。

哇,马上就解决了,谢谢!尽管我没有问(因为我假设了一个解决方案,它以某种方式运行一个函数,我可以自己控制每个项目),但我还是有一点想法,那就是我不仅要加载可见项目的图像,还要加载“可见加上下10个”项目的图像。然后使用
ng show
ng if
(或者是
limitTo:limitToLoad
ng show=“$index
)我看到你编辑了上面的答案。我检查了plunker,但当你到达(过滤)数组的末尾时,按钮并没有消失。不幸的是,更新的plunker和answer还没有完全更新-记得我有一些(自定义)过滤器,如搜索框和复选框?有点像这样,