2017-08-02 5 views
1

私はメニューリストを作成しました。メニューにurlがある場合、href属性のみがタグで表示されます。 以下のようにチェックしましたが、menu.Urlが空の場合はhref = "#"となりました。AngularJsの<a>タグに条件付きのhrefを追加するには

<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'は1であります – 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> 
関連する問題