Angular 1.5。组件通信。最佳实践

时间:2016-12-09 23:30:12

标签: javascript angularjs binding communication

我使用的是Angular 1.5.9。

现在我有两个需要沟通的组件。 如果我在第一个中更改某些内容(例如,选择列表中的项目)=>第二个需要更改(选择的项目需要显示),反之亦然(在第二个中更改=>在第一个中更改) 我已经阅读了很多方法,所以我可以通过几种方式来解决这个问题:

  1. 通过可共享服务进行通信
  2. 使用双向数据绑定(" ="组件绑定中的选项)。示例:https://jsfiddle.net/peter_drinnan/t4q4nrfp/27/
  3. 使用单向数据绑定和输入/输出方法。示例:http://stackoverflow.com/questions/36033940/how-to-pass-data-between-child-components-in-angular-1-5-not-using-scope
  4. 使用"要求" (一些父组件共享数据)。示例:http://stackoverflow.com/questions/36645065/component-communication-in-angular-1-5
  5. 也许我想念一些东西? 什么是最佳做法?

    谢谢。

1 个答案:

答案 0 :(得分:0)

您的整个示例非常适合使用3选项:

  1. 加载/保存数据的父组件
  2. 组件以显示选择
  3. 上的回调列表
  4. 要显示的组件(+编辑)
  5. 这种方式可以让您轻松测试等。 (请查看benefit list

    对我来说有趣的是如何在不那么关闭组件之间进行通信:

      

    我们有组件A来显示城市,组件B显示国家   每个加载数据本身,并且技巧是 - 当你删除最后一个城市   从国家/地区(A)您需要从列表中删除国家/地区(C)。假设   我们需要重新加载国家/地区列表...

    在这种情况下,沟通的最佳做法是什么?

    我强烈认为使用$ rootScope的事件是不好的方式......