【发布时间】:2015-12-10 19:48:05
【问题描述】:
我有一个服务中的对象数组,我想在这样的视图中显示
<li ng-repeat="item in filteredItems = (resource.items | filter:multipleFilters...">
<span class="title">{{item.escaped_name}}</span>
</li>
我希望这些对象是可选的,这很容易。然后我需要获取所选项目的数量并能够遍历所有项目以处理/更改数据。
保存和访问所选项目的最佳方法是什么?
请注意,所选项目可能会发生变化,例如,所选项目可能会因过滤器更改而消失。此外,我不想直接在数组中的对象上设置选定属性 - 对象数组在服务中并在整个应用程序中的许多列表中使用,我不想“清理”选定的属性每个视图。
【问题讨论】:
-
可选择是什么意思?还拥有一个选定的属性将使您的生活更轻松。 IMO 你应该为此制作一个模型(提供者),然后你可以有一个 toJSON 或其他东西来清理它以进行发送/接收。 Angular 非常适合前端模型。
-
你想构建一个面包屑、引导式导航和结果集,我在淘汰赛中做了一个,还没有在 Angular 中,但这不是一个微不足道的功能,它是一个系统,你试过什么?添加/删除过滤器时,您需要构建过滤器列表、标签列表、结果列表和构建事件
-
可选择我的意思是点击它来选择它。将选定属性添加到每个项目的问题,该列表可以在同一站点上使用两次。 resource.items 中的全部数据来自一个服务,即使我在项目上有一个 selected 属性,如果一个选定的项目被过滤掉,我将如何检测该更改并将 selected 设置为 false?
-
对选择组使用模型,然后使用单个项目本身,并使用列表模型的 1 个实例。这将解决您的问题。
-
@LucLaverdure 面包屑和引导导航?我想要的只是有一个项目列表(或它们的 id 或一些参考),这些项目都被选中并在 filterItems 中
标签: angularjs filter angularjs-ng-repeat ng-repeat