在角控制器内呼叫控制器 [英] Calling controller within controller in Angular

查看:96
本文介绍了在角控制器内呼叫控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个弹出式的控制器:

I have a popup controller:

@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

或者,也许我这样做是错误和角度有一些更好的方法来实现它?

Or maybe I'm doing it wrong and Angular has some better ways to implement it?

推荐答案

您可以使用的 $广播(向下子作用域)或$排放(向上范围层次),以一个控制器发送一个事件的形式向其他。

You may use $broadcast (downward to child scopes) or $emit (upward to scope hierarchy) to transmit an event form one controller to the other.

然后,你会在登记触发你的函数接收的事件。请参见 http://docs.angularjs.org/api/ng.$ro​​otScope .Scope#$上

Then you would register an event on the receiver that triggers your function. See http://docs.angularjs.org/api/ng.$rootScope.Scope#$on.

这篇关于在角控制器内呼叫控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆