2016-07-18 16 views
0

私はブートストラップと角度を使用しているウェブサイトを作成しています。私は角度ルーティングを使用しており、必要に応じてインデックスページにカスタムビューをロードしています。私が遭遇している問題は、ルーティングのために、ヘッダーのメニュードロップダウンが機能しなくなったことです。ブートストラップドロップダウンと角度ルーティングのスクロール

<nav class="col-lg-12 col-md-12 col-sm-12 col-xs-12 navbar navbar-inverse navbar-fixed-top"> 
     <div class="container-fluid"> 
      <div class="navbar-header"> 
       <div uib-dropdown> 
        <a href="#side" class="btn btn-default btn-primary navbar-toggle pull-left" data-toggle="collapse" data-target="side" uib-dropdown-toggle> 
         <span class="sr-only">Toggle navigation</span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </a> 
       </div> 
       <a class="navbar-brand" href="#/">Company Logo</a> 
      </div> 
      <ul id="side" class="nav navbar-nav collapse hidden-lg hidden-md hidden-sm" uib-dropdown-menu> 
       <li><a href="#/">Home</a></li> 
       <li><a href="#/stuff">Stuff</a></li> 
       <li><a href="#/list">List Example</a></li> 
       <li><a href="#/contact">Contacts</a></li> 
       <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">User <span class="caret"> </span> </a> 
        <ul class="dropdown-menu"> 
         <li><a href="#/">Profile</a></li> 
         <li><a href="#/">Logout</a></li> 
        </ul> 
       </li> 
      </ul> 
      <ul class="nav navbar-nav navbar-right hidden-xs"> 
       <li class="dropdown"><a href="#/" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">User <span class="caret"> </span> </a> 
        <ul class="dropdown-menu"> 
         <li><a href="#/">Profile</a></li> 
         <li><a href="#/">Logout</a></li> 
        </ul> 
       </li> 
      </ul> 
     </div> 
    </nav> 

ルーティングする前に、トグルボタンをクリックする(小さな画面上に表示のみ)IDが「側」であると示してULに参照するであろうと、ドロップダウンとして: ここヘッダのコードです。しかし、URLルーティングが設定されているので、トグルボタンをクリックするとURLが#/側に変わります。私はこれが起こることを望んでいません。なぜなら、URL /側がなく、この方法ではドロップダウンも開かないからです。
私はlocation.hash()と$ anchorScrollを使ってみましたが、うまくいきませんでした。 角度ui属性(uib-dropdown、uib-dropdown-menuなど)を含めると、トグルボタンの動作が変更され、今すぐクリックされるようになりました。メニューは開きません。

誰かがこれを動作させるために必要なことを説明することはできますか?助けていただければ幸いです!

EDIT は、ここで私が何を意味するかをお見せするためにスクリーンショットのカップルです: This is the initial page, notice the URL in the address bar

Now when I resize the screen and click the menu toggle button, the URL changes to reference the dropdown menu ID and breaks the UI

私はこれを防ぐために何ができますか?

+0

あなたはバイオリンを作ることができ、plunkr私はplunkerにすべてを置くしようとすると、同じ –

+0

@MandeepSinghザ・UIが壊れる披露します。私はこのことについて申し訳ありません、私はアプリの全体の機能をプランナーに転送する方法を知らない – leMS

+0

私が意味するものを表示する画像を添付させます – leMS

答えて

0

だから、これは(助けマンディープ・シンをありがとうございました)、私はこの問題を修正するために何をしたかである:

ルーティングが設定されているapp.jsファイルでは、私は次のコードを追加しました:

.otherwise({ 
     redirectTo: '/' 
    }); 

トグルボタンをクリックするたびに、URLはボタンのIDを示すようにリダイレクトされません。つまり、サイド "id"のボタンを押してドロップダウンを切り替えるたびに、URLは同じままです。
それ以外は、bootstrap.jsとjqueryをindex.htmlファイルにリンクしていませんでした。これも問題を引き起こしていました。
タグとUIブートストラップを使用していた私は最後(See detail about this here

関連する問題