2016-10-09 4 views
1

私はAngularJS Webアプリケーションで、子の状態を起動するためにテンプレートのhrefを使用する必要があります。長い話ですが、hrefは私の唯一の選択肢です($ state.go()やui-sref指令などの代替手段ではありません)。hrefのドット表記はURL全体のパスを置き換えます

私は現在、自分の現在の状態(親)にルーティングされる子状態(モーダルウィンドウ)を起動しようとしています。リンクをクリックすることができ、そこから例現在 URLは

localhost:3000/#/contact/aboutus 

これは、しかし、アプリを通じてのみ可能子育ての状態ではありませんので、私は、ダイナミックままにパスの最初の部分を必要としています。

localhost:3000/#/contact/aboutus/directory 

私はこれは私が持っている次のコードで可能であると期待される:

のは、次のURLに対応する、私も、このページから「ディレクトリ」のモーダルウィンドウを起動しようとしているとしましょう
<div class="internal-margin"> 
    <a href="./directory"> 
     <span ng-bind-html="'{{link.label | translate}}'"></span> 
    </a> 
</div> 

注意:href = "./ directory"に注意してください。私は、既存のURLパスに追加するために、このドット記法を使用しようとしています。私は、ページ上のリンクをクリックすると、しかし、それはURLを私に指示します。

localhost:3000/directory 

パス全体が交換され、このURLは、なぜこれが404起こっているのか?問題は、ルーティングがどのように行われているのかが深いか、何か完全に欠けていますか?

+0

には省略形はありませんが知っていることはできますか? –

+0

また、 '。/ directory' _is_既存のパスにパスを追加する正しい方法です。 – nikjohn

+0

@PankajParkarあなたの答えに私のコメントをお答えください。これは正しい方法だと理解していますが、私の場合はうまくいかない –

答えて

0
あなたの解釈はあなたがハッシュベースのルーティングを使用していることを考慮していない

./directoryは、URLハッシュに追加し、それ

のhrefを書くときに、手動でそれが持っているだろうににはハッシュを持っていないではないだろう:我々は、UI-sref`が動作しないだろうか `

<a href="#/contact/aboutus/directory"> 

この

関連する問題