我们希望为ACL功能创建可重用的库/模块。基本上,要检查登录用户是否有权访问特定的UI资源,并且还有权执行click click等操作...所以,我们想要公开一个hasAccess()函数,可以从内部指令调用,如 - ng-show,ng-hide,ng-disabled等...
我们探索了一些选项,例如angular-acl(https://github.com/mikemclin/angular-acl)。有了这个解决方案,在每个控制器中,我们需要添加如下所示的行:$ scope.can = AclService.can;考虑到我们在应用程序中有许多控制器,这有点痛苦。
所以,正在探索实现这一目标的最佳方式是什么?有没有办法可以从模块服务中导出全局函数,以便在每个模板中都可以访问它们?
我们发现的一些解决方案是在module.run()方法中编写代码,并设置$ rootScope.fn =。但是,我们可以为作为库共享的模块编写run()吗?这是否有效,如果是,那么,什么时候调用run()并不清楚。
任何想法,这种场景的最佳实践解决方案是什么,我们希望从服务中公开全局方法/函数,以便在模板中访问它?