2017-08-24 71 views
3

我面临麻烦,我不理解。当我点击它时,我有一个配置菜单和一个子菜单。无法解析'javascript :;'从状态'应用'

<li ui-sref-active="active"> 
     <a ui-sref="javascript:;"> 
     <i class="fa fa-cogs"></i> 
     <span>Configurations</span> 
     </a> 
     <ul class="sub-menu"> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.inventory"> 
      <span>Devices</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.users"> 
      <span>Users</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.networks"> 
      <span>Networks</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.alerts"> 
      <span>Alerts</span> 
      </a> 
     </li> 
     </ul> 
    </li> 
    <!-- configurations --> 

问题是,当我设置了NG-如果我只是能看到的配置菜单,当我点击它,我得到了错误“无法解析‘的javascript :;’从状态'应用程序'“。

我知道“javascript :;”这没有在我的路线文件中定义。这意味着什么具体?此代码wasnt我的,我想做出一些改变这样做,以控制谁可以看到菜单中的NG-如果像

<!-- configurations --> 
    <li ng-if="permissionGroup.views.configurations" ui-sref-active="active"> 
     <a ui-sref="javascript:;"> 
     <i class="fa fa-cogs"></i> 
     <span>Configurations</span> 
     </a> 
     <ul ng-if="permissionGroup.views.configurations" class="sub-menu"> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.inventory"> 
      <span>Devices</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.users"> 
      <span>Users</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.networks"> 
      <span>Networks</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.alerts"> 
      <span>Alerts</span> 
      </a> 
     </li> 
     </ul> 
    </li> 
    <!-- configurations --> 

要获取权限组控制器上我有这样一段代码

var user = JSON.parse(window.localStorage.getItem("userKey"));  

     $http.get('/api/organization_permissions_groups/'+user.organization_permission_group_id).success(function (data) {   
      $scope.permissionGroup = data; 
     }); 
+0

没有你试过NG秀,而不是NG-IF? –

+0

没有..它的工作!非常感谢你 –

+1

看起来像代码中的错误,ui-sref应该指向在你的路由文件中定义的有效路由,并且因为它指向'javascript:;'你会得到这个错误 – Tomer

回答

1

您应该使用的ng-show代替ng-if

<!-- configurations --> 
    <li ng-show="permissionGroup.views.configurations" ui-sref-active="active"> 
     <a ui-sref="javascript:;"> 
     <i class="fa fa-cogs"></i> 
     <span>Configurations</span> 
     </a> 
     <ul ng-show="permissionGroup.views.configurations" class="sub-menu"> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.inventory"> 
      <span>Devices</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.users"> 
      <span>Users</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.networks"> 
      <span>Networks</span> 
      </a> 
     </li> 
     <li ui-sref-active="active"> 
      <a ui-sref="app.configurations.alerts"> 
      <span>Alerts</span> 
      </a> 
     </li> 
     </ul> 
    </li> 
    <!-- configurations --> 
+0

谢谢,这就是答案我在寻找 –