AngularJS - 将子上下文的更新传播到父上下文

时间:2015-06-03 07:00:36

标签: angularjs

我有一个AngularJS应用程序,它有一个shell页面。 Shell页面有一个包含位置列表的下拉列表。在其中一个内部页面中,我具有添加新位置的功能。添加新位置后,它应立即显示在shell页面的位置下拉列表中?我如何实现这一目标?

我知道我应该尝试角度观察者。实际上,系统中已存在相同的功能。还有另一个客户端选择下拉列表,当客户端更改时,我广播了一个事件,因此重新填充了位置下拉列表。我不确定在添加新位置时如何做同样的事情。

1 个答案:

答案 0 :(得分:1)

当添加位置时,您可以简单地将事件广播到父上下文

$scope.addLocation = function () {
  // Add location code here
  $rootScope.$broadcast('location.added', data);
};

然后在父控制器上:

$scope.$on('location.added', function (event, data) {
  // Add new location to dropdown
};