私は単一ページの Meteor アプリケーションを開発しており、Backbone.js を使用してルーティングを処理しています。カルーセルのようにページをナビゲートしようとしているので、ナビゲーションのメニュー項目をクリックすると、ページが左右にスライドして選択したページが表示されます。ただし、問題は、リンクをクリックするたびにページ全体がリロードされ、カルーセルの遷移が妨げられることです。AngularJS のように、リンクをクリックしたときにページがリロードされないようにしたいのですが、うまく動作しません。# リンクを使用しないようにしています。なぜなら、Spiderable meteor パッケージには、実際のリンクのみがスパイダーに表示されると書かれているからです。誰にも解決策がありますか?
これはHTMLです:
<div id="main-navbar" class="navbar">
<div class="navbar-inner rectangle-navbar">
<div class="container">
<ul class="nav">
<li><a href="/">Home</a></li>
<li><a href="/login">Login</a></li>
</ul>
</div>
</div>
</div>
これはCoffeescriptです:
Router = Backbone.Router.extend
routes:
"": "main"
"login": "login"
login: ->
slideCarousel 0, false
main: ->
slideCarousel 1, true
appRouter = new Router
Meteor.startup ->
Backbone.history.start pushState: true
slideCarousel = (slideId, visibility) ->
$("#content").carousel slideId
$('#content').carousel "pause"
if visibility == false
$("#landing").hide "slow"
else
$("#landing").show "slow"