2017-12-14 1 views
0

anglejを使ってリンクをクリックするときにドロップダウンを開く必要があります。私の考えは、クラスをng-classディレクティブでドロップダウンに追加することですが、これは動作しません。ng-class Angularjsとtypescriptでドロップダウンを開きます

私は私が必要なものを、2つのドロップダウンメニューを持っているが、リンクをクリックしたときに最初の1

<ul class="nav navbar-nav navbar-right " > 
     <li class="dropdown" ng-class="myDropdown ? : 'open'"> 
      <a class="dropdown-toggle" data-toggle="dropdown" >Menu</a> 
       <ul class="dropdown-menu " role="menu" ng-if="!myDropdown"> 
        <li> 
         <a href="" ng-click=" toogleDropDown()">Open second dropdown</a> 
        </li> 
       </ul> 
       <ul class="dropdown-menu " role="menu" ng-if="myDropdown"> 
        <li > 
         <a href="" ng-click="!toogleDropDown()">Go back</a> 
        </li> 
       </ul> 
      </li> 
    </ul> 

内の第2の1を開くことです活字体

toogleDropDown() { 
     this.scope.myDropdown = true; 
    } 

答えて

0

これは、あなた以来、動作しません。 toggleDropDownは関数であり、何も返されません!undefinedは真でなければなりませんあなたの行:

<a href="" ng-click="!toogleDropDown()">Go back</a> 

書き込みと同じです:

<a href="" ng-click="true">Go back</a> 

は、全体的なその機能の必要はあなたが必要なものすべてではありません。このようなものです:

<a href="" ng-click="myDropdown=!myDropdown"> 
       <span ng-if="!myDropdown">Open second dropdown</span> 
       <span ng-if="myDropdown">Go back</span> 
      </a> 

とあなたのコントローラからその機能を削除するための必要はありません。 https://jsfiddle.net/pegla/nq11093m/1/

<li class="dropdown" ng-class="{'open': myDropdown}"> 

がここにフィドルです:

も私はあなたがこのようなNG-クラスを設定したいと考えています

関連する問題