5

meteorite の Router パッケージを使用しています。

Meteor.Router.add
  "/article/:id": ->
    log "article"
    "article"

記事のページ/テンプレートが読み込まれるたびに、ルーターのコールバック関数が常に 2 回実行されます。記事の閲覧数を増やすためにコールバック関数を使用しようとしています。したがって、これは問題を引き起こします (すべての inc が 2 回行われます)。

これは意図した動作ですか?それとも私は何か間違ったことをしましたか?

アップデート

実際には、常に 2 回実行されるわけではありません。ページが更新されたとき、またはブラウザーが初めてページに移動したときに発生します。とにかく、それはまだ問題を引き起こします。

4

1 に答える 1

2

アップデート:

原因は、私が IE 8 以降のルーティング サポートに使用している HTML5-History-API パッケージです。以下の解決策は、同じ設定と問題を抱えている人々を助けるのに役立ちます.


解決策を見つけました。しかし、これがこれを処理するための意図された方法であるかどうかはわかりません。

"/article/:id": (id) ->
   unless this.init
     Session.set "articleId", id
     Meteor.call "incArticleViews", id
   "article"

より良い解決策がある場合は、投稿してください。受け入れます。

于 2013-03-04T19:43:06.020 に答える