可以说我有以下视图代码:
<button ng-click="login()">Login</button>
如果我想将视图中的回调传递给控制器登录方法,我该怎么做?
我想做类似的事情:
<button ng-click="login( function() {
$('#loginDialog').modal('hide');
} )">Log in</button>
但是 Angular 不会在 ng-click 中解析该代码,因此它不起作用。
我想要做的是将 DOM 操作从控制器中分离出来,并分成控制器可以调用的回调。因此,使控制器更具可测试性。
我确实知道有一个用于 Angular 的对话服务,但让我们假装用例不是对话,只是一些其他 DOM 改变的东西。
我是否必须求助于服务注入并在服务中注册所有回调并将该服务注入我的控制器?我想在这里将注入作为方法注入而不是构造函数注入。
那么有什么办法可以像我上面描述的那样做吗?