在Angular中调用控制器内的控制器

时间:2013-04-17 01:58:33

标签: angularjs

我有一个弹出控制器:

@PopupController = ["$scope", ($scope) ->
  $scope.isActive = false

  $scope.open = ->
    $scope.isActive = true

]

老师控制员:

@TeachersController = ["$scope", "Teacher", ($scope, Teacher) ->
  $scope.teachers = Teacher.query()

  $scope.showTeacher = ->
    # somehow call PopupController.open()

]

如何从PopupController.open()致电TeachersController

或许我做错了,Angular有更好的方法来实现它?

1 个答案:

答案 0 :(得分:3)

您可以使用$broadcast(向下到子范围)或$ emit(向上到范围层次结构)将事件从一个控制器传输到另一个控制器。

然后你会在触发你的功能的接收器上注册一个事件。请参阅http://docs.angularjs.org/api/ng.$rootScope.Scope#$on