2014-01-24 24 views
0

只是想问一个简单的问题,因为我是angularjs和html5的新手。Angularjs,intellisense在html5中设置指令值(webstorm)

我写了一个指令来检查用户是否具有某项特定的权限。权限都是一串字符串。使用指令我隐藏或显示一个用户界面元素,如果用户有权限。例如,如果用户没有编辑用户的权限,我会在指令的帮助下隐藏编辑按钮,如下所示; DIV包含编辑按钮

<div has-restriction="UserEditNotAllowed"><button>Edit User</button></div> 

我的问题是不是字符串“UserEditNotAllowed”打字,有没有办法让打字时它,使用intellisence我可以看到允许字符串可用以避免错别字。

我试图在$ rootScope中添加这些权限字符串,但智能感知不显示。我正在使用webstorm。

谢谢, Imad。

回答

0

首先,您不必使用自己的指令来隐藏基于应用程序逻辑的东西。相反,您可以使用ng-show

<div ng-show="userAllowed"><button>Edit user</button></div> 

那么你的控制器内,只要你想要的按钮变得可见设置$scope.userAllowed = true;

至于intellisense,这是一个应该针对webstorm的整个其他问题。

+0

编写指令的目的是整合逻辑来验证用户角色是否具有某种权限,然后我们不需要在整个应用程序的控制器中定义变量。通过这种方法,我可以拦截路线,并在用户没有权限的情况下限制访问。我采用了本文提出的概念:[link](http://nadeemkhedr.wordpress.com/2013/11/25/how-to-do-authorization-and-role-based-permissions-in-angularjs/) – Imad

+0

我需要的只是一种定义权限列表的方式,当我在html中为一个指令设置一个值时,该值自行完成(即,它表现为对象而不是字符串,就像数据绑定对象在xaml自动完成自己),是全球性的,以便它可以在所有的HTML页面访问。有没有办法做到这一点? – Imad

+0

我不喜欢在链接到的帖子中完成授权的方式。你应该看看'angular-ui-router'。 –