2

次のように、index.html にいくつかのタブを作成しました。

<div class="container">
    <div class="tabbable">
            <ul class="nav nav-pills nav-tabs">
                <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
                <li><a href="#new" data-toggle="tab">New Request</a></li>
                <li><a href="#queuepane" data-toggle="tab">Queue</a></li>
            </ul>
        </div>
        <div id="appTabs" class="tab-content">
            <div id="home" class="tab-pane active"></div>
            <div id="new" class="tab-pane">
            <div id="queue" class="tab-pane"></div>
        </div>
     </div>
</div>

Backbone.jsルーティングを使用してタブがクリックされたときにURLを変更するにはどうすればよいですか?

4

2 に答える 2

0

オンラインで見つけたいくつかの提案を使用してこれを解決しました。これは、コーヒースクリプトでどのように見えるかです:

ルーターの初期化関数内:

$('.tl-navigation-tabs a').click (e) =>
    e.preventDefault()
    @navigate("#{e.target.innerHTML}/", {replace: true, trigger: true})

トリガー: true は、移動先の URL がルーターのルートと一致する場合、別の関数に委任することを意味します。したがって、ここに各タブのルートがあり、そのルートに移動して呼び出される関数内にあります。

$(".tl-navigation-tabs a[href='#Events']").tab('show')

これを行うにはおそらくもっとエレガントな方法がありますが、これはまさに私が必要としていた方法で機能しました。

于 2015-09-14T13:25:05.233 に答える