如何在AngularJS应用程序中的指令(树组件)和任何其他控制器或指令之间进行通信?

时间:2014-08-17 13:57:36

标签: angularjs angularjs-directive angularjs-scope angular-ui angular-ui-bootstrap

首先,我已经阅读了很多关于控制器之间通信的信息,我现在对最好的方法感到困惑。我知道我应该使用服务,但是从你们写的所有例子中我都不知道它意味着什么。

这是我的情景: 在我的页面的左侧,我有一个带有简单文件夹/文件树的侧栏。我使用了角度树组件,它对我很有用:http://jimliu.github.io/angular-ui-tree/

在页面的右侧,我有一个用户导航正在更改的视图。 每次用户选择树上的任何节点时,我希望能够告诉任何右侧页面控制器已选择哪个节点。树上的每个选择都应该通知任何想要听取该更改的人。

我不喜欢从服务中使用$ rootScope和fire事件的想法,这是唯一的方法吗?

1 个答案:

答案 0 :(得分:0)

为了说明如何完成,我使用服务在控制器和指令之间共享数据创建了一些示例代码:

app.factory('SharedService', function() {
  return {
    sharedObject: {
      value: ''
    }
  };
});

http://plnkr.co/edit/Q1VdKJP2tpvqqJL1LF6m?p=preview

希望有所帮助