2017-08-02 196 views
1

我已經創建了一個菜單列表,一些菜單有url,有些沒有。如果菜單有url,那麼只顯示href屬性,否則只顯示標籤。 我查看了下面的內容,但是在menu.Url爲空的情況下它來了href =「#」。如何在AngularJs中添加基於條件的href到<a>標籤

<nav class="pushmenu pushmenu-left"> 
    <ul class="main-navigation"> 
     @* Here we will load only top level menu *@ 
     <li class="hidepush" ng-repeat="menu in menus| filter:{ParentID : null} : true"> 
      <a ng-attr-href="{{#{{ menu.URL }} || ''}}"><span class="{{ menu.css }}"></span> {{menu.Name}}</a> 
     </li> 
    </ul> 
</nav> 

任何人都可以幫忙。由於

+0

許多方法可以做到這一點....'NG-if'是一個 – charlietfl

回答

2

ng-if檢查就做: -

<nav class="pushmenu pushmenu-left"> 
    <ul class="main-navigation"> 
     @* Here we will load only top level menu *@ 
     <li class="hidepush" ng-repeat="menu in menus| filter:{ParentID : null} : true"> 
      <a ng-if="!menu.URL"><span class="{{ menu.css }}"></span> {{menu.Name}}</a> 
      <a ng-if="menu.URL" ng-attr-href="{{#{{ menu.URL }} || ''}}"><span class="{{ menu.css }}"></span> {{menu.Name}}</a> 
     </li> 
    </ul> 
</nav> 
1

你可以在這裏使用的表達,如:variable ? true: false

<nav class="pushmenu pushmenu-left"> 
    <ul class="main-navigation"> 
    @* Here we will load only top level menu *@ 
    <li class="hidepush" ng-repeat="menu in menus| filter:{ParentID : null} : true"> 
     <a ng-attr-href="{{ menu.URL ? '#' + menu.URL : ''}}"><span class="{{ menu.css }}"></span> {{menu.Name}}</a> 
    </li> 
    </ul> 
</nav> 
相關問題