Angularjs - 在模块中创建全局可访问(也可在模板中访问)功能

时间:2015-02-18 07:22:35

标签: javascript angularjs

我们希望为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()并不清楚。

任何想法,这种场景的最佳实践解决方案是什么,我们希望从服务中公开全局方法/函数,以便在模板中访问它?

0 个答案:

没有答案