2017-08-24 70 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

謝謝,這就是答案我在尋找 –