Javascript 带ng重复的角度指令,ng显示“;“显示更多”;和惰性负载
我使用这个指令,迭代数组“myArr”,过滤一些条件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部分之所以存在,是因为我有一个条件来处理此问题:
<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
不同,falseyng 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还没有完全更新-记得我有一些(自定义)过滤器,如搜索框和复选框?有点像这样,