我希望有人可以帮我解决这两个问题。 它们是同一作品的一部分,但彼此不同。
我正在使用angularjs来过滤一个很安静的列表(超过1000个元素),但它非常慢。我想知道是否有办法优化这一点。
这是代码
<div class="test">
<table class="table table-hover" >
<tbody>
<tr ng-repeat="test in tests| filter:query">
<td>
<a href="#"><div id="delete">D<br />E<br />L<br /></div></a>
<a href="#"><div id="edit">E<br />D<br />I<br />T</div></a>
<p ng-show="test.id">ID:<b>{{test.id}}</b></p>
<span ng-repeat="name in test.names" ng-show="test.names">Company: <b>{{name}}</b></span>
<span ng-repeat="age in test.ages" ng-show="test.ages">Country: <b>{{age}}</b></span>
<span ng-repeat="course in test.courses" ng-show="test.courses">Found: <b>{{course}}</b></span>
<span id="output" ng-show="test.out1">Then: <b>{{test.out1}}{{test.out2}}{{test.out3}}{{test.out4}}</b></span>
</td>
</tr>
</tbody>
</table>
</div>
第二个问题是关于html中的“tabset” 我有3个标签,在一个标签中,每个项目都有一个编辑链接,当我点击第一个标签的编辑链接时,我想要第三个标签出现。 我在网上搜索并了解到需要一些js或jquery,但到目前为止还没有任何工作。
提前谢谢
答案 0 :(得分:0)
如果您正在处理如此庞大的数据集,则应使用分页系统。
此外,我不会将整个1k对象附加到作用域,并在ng-repeat中使用过滤器,而是只将一大块数据(如50)添加到作用域中,每次更改页面时都会更改$ scope.tests与您的1k中的下一个/前50个项目。
还有一点,如果你使用了很多插值{{}},但并不是每个都需要一个单独的观察者,你应该考虑使用angular的“bindonce”。