AngularJS:ng-click侦听不同/特定的控制器

时间:2014-09-29 23:53:01

标签: angularjs angularjs-scope angularjs-ng-click

我有一个带有自己的控制器的登录表单指令。当表单提交正常时,控制器基本上是用户登录。这绝对没问题。

我试图在一个控制器中包含我的用户登录/注销功能,在这种情况下是LoginCtrl。我在标题部分的某个位置指令外面有一个注销按钮。当单击该按钮时,我是否可以在LoginCtrl中调用doLogout()函数?

我到目前为止唯一的解决方案是在rootScope上广播事件并在LoginCtrl上监听相同的事件。

还有其他选择吗?

2 个答案:

答案 0 :(得分:2)

您可以将实际功能保存在服务中(无论如何都可能想要这样做)。这样,您可以使用标准依赖注入将服务注入到包含注销按钮的任何控制器中,并让它像处理路由更改等处理所有内容。

答案 1 :(得分:0)

该指令不一定绑定到控制器,在这种情况下它可以有自己的范围。 也就是说,您可以通过指令范围直接将回调传递给指令"&"操作