1

少し複雑に聞こえるかもしれません。

これは、SinglePage、pushState 対応アプリケーションです。構成用のルートがあります:

    routes: {
        '': 'dashboard',
        'configure/sites/:id': 'configure',
        'configure/sites/:id/:section': 'configureSection'
    },

URLをナビゲートするためにtbranyen/backbone-boilerplateの方法を使用しています。ダッシュボードから href をクリックするとa href="configure/sites/33、表示が正常にレンダリングされます。ブラウザの URL には、「localhost:12345/configure/sites/33」と表示されています。

構成ビューにはメニューがあり、中にはいくつか<a href=あります。

<ul class="nav configure-nav">
<li>
    <a href="overview" class="overview">Overview</a>
</li>
<li>
    <a href="configuration" class="configuration">Configuration</a>
</li>

問題は、それらのリンクにアクセスしようとすると、 が消えてidしまうことです。

ブラウザのアドレスバー

予想される href:http://localhost:12345/configure/sites/33/configuration

実際のhref:http://localhost:12345/configure/sites/configuration

何が起こっているのか、どのように修正するのかを説明していただけますか?

4

2 に答える 2

0

これは、相対リンクと絶対リンクが機能する方法によるものです。あなたの場合、hrefはパス内の最も近い「ディレクトリ」に相対的です(ファイルシステムの類推を維持するために、 :id 部分はファイルと見なすことができます)。

ルートに末尾のスラッシュを追加すると、概要と構成のリンクが適切にルート化されます。

于 2013-02-03T14:44:24.283 に答える
0

これで問題が解決するかどうかはわかりませんが、単一ページのアプリを作成している場合は、「localhost:12345/」の後にハッシュバンを配置する必要があります。そうしないと、すべてのリクエストがサーバーに送信されます。

于 2012-10-02T04:56:09.120 に答える