2

私はこれと同じ問題に直面しています。交差点を数時間使用する方法を見つけようとしているのですが、何もうまくいかないようです。そのウェブサイトは、文書化されていない貧弱なサイトの 1 つです... 私はおそらくばかだと思います! 誰かがそれを作ったのだろうか?

htmlヘッド、

<title>Crossroads</title>
  <script src="js/libs/signals.js"></script>
  <script src="js/libs/crossroads.min.js"></script>
  <script src="js/app.js"></script>
</head>

app.js は、これと同じくらい簡単です。

crossroads.addRoute('/news/{id}', function(id){  
  alert(id);  
}); 

ローカルホストブラウザで試してみます

http://localhost/crossroadjs/#/news/123

何も起こりません。と思いました123??

4

2 に答える 2

4

Crossroads は、ブラウザーからの履歴/状態変更イベントを処理しません。彼らのサイトから:

ルート システムは、ルーティング以外のことを行うべきではありません。

代わりに、サイトはこの目的のためにHasherを推奨しており、かなり完全な例を示しています。

//setup crossroads
crossroads.addRoute('foo');
crossroads.addRoute('lorem/ipsum');
crossroads.routed.add(console.log, console); //log all routes

//setup hasher
function parseHash(newHash, oldHash){
  crossroads.parse(newHash);
}
hasher.initialized.add(parseHash); //parse initial hash
hasher.changed.add(parseHash); //parse hash changes
hasher.init(); //start listening for history change

//update URL fragment generating new history record
hasher.setHash('lorem/ipsum');

または、別の履歴プラグインを使用するか、自分で何かを作成することもできます。しかし、クロスロードはその部分をあなたに任せます。

于 2014-01-03T17:45:53.257 に答える
1

Crossroads.js はcrossroads.addRoute(pattern, [handler], [priority]);ルート パターンを追加するための API を提供します。ただし、ページを初めてロードしたときに、Crossroads はパーサーを自動的に開始してページの URL をチェックしません。crossroads.parse(document.location.pathname);ルートをトリガーするには、ドキュメントの読み込みを追加する必要があります。Crossroads.js チュートリアルをご覧ください。

于 2016-07-13T13:33:23.687 に答える