繁体   English   中英

构建角度服务以促进跨指令的数据共享

[英]Structuring angular service to facilitate data sharing across directives

我有两个指令 - 称它们为“mainPane”和“sidePane”,每个指令都显示一个项目列表。 这两个列表的内容经常重叠 - 即两个列表中都显示相同的项目 - 用户可以与任一列表中的项目进行交互。 当用户更改一个列表中的项目时,我希望它立即反映在另一个列表中。 这是我的主要要求。

我很确定我想将所有项目存储在Content服务中,我还将封装(AJAX)检索逻辑。

我正在寻找的是关于从那里构建该服务的最佳方式的高级建议。 它是否有两个单独的列表,每个窗格一个? 如果是这样,我该如何处理两者中存在的物品? 将所有项目存储在一个数组中并对其进行过滤以生成两个单独的列表很有吸引力,但遗憾的是这些项目的固有属性决定了它们应该出现在哪个列表中。虽然我可以创建一个 - 我可以添加一个onMainPaneonSidePane字段对这些对象进行过滤并对其进行过滤。 这是最好的方法 - 如果是这样,我应该在服务或指令中进行过滤吗?

或者有更好的选择吗?

由于您已经为封装创建了Content服务,因此利用这一点是合乎逻辑的。 Content服务可以注入指令并共享列表。

话虽如此,名单有多大? 指令/内容项目有多复杂? 如果objects /指令很复杂且列表很大,那么许多服务路径都不合适。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM