問題タブ [canjs-routing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - CanJS で can.Control.route を使用して 2 つの別個のルーターを定義する
両方とも同じ HTML ファイルに含まれていますが、異なる JS ドキュメントで定義された 2 つのルートがあります。ルート 1 は次のようになります。
もう 1 つは次のようになります。
#!receipts/1 を参照すると、領収書と請求書の両方がインスタンス化されています。それはなぜですか、どうすれば修正できますか?
routes - can jsで404を処理するキャッチオールルートを定義するには?
すべての正しいルートが最初にチェックされるように、can.js で 404 を処理するためのキャッチオールルートを定義する適切な方法は何ですか? 一致しない場合、このルートはそれをキャッチし、404 メッセージを表示できます。
javascript - CanJSでルーターを実装するにはどうすればよいですか
https://github.com/thinkadoo/Projectsアプリケーションの助けを借りています。this one の助けを借りて、同様のアプリを作成しました。私のアプリケーションは、これが使用するチャートの代わりに d3 チャートを使用しています。私のアプリはルーターを次のように初期化します
ルーターを実装したい場合は、どのような変更を行う必要がありますか? これは、両方の実装を備えた私の JSFiddle です。最初のものは働いています。しかし、ルーターを初期化する後半部分は機能していないようです。 http://jsfiddle.net/sweety1112/YMAjm/
誰かが私を助けることができますか?
javascriptmvc - CanJS の URL が #! に戻りました can.route.ready(true) が実行されたとき
コードはhttp://jsfiddle.net/cTpPx/にありますが、ライブの例はhttp://fiddle.jshell.net/cTpPx/show/でご覧ください。これは、URL の変更を確認していただくためです。
このページにアクセスするときは、Chrome キャッシュを無効にしてください (組み込みの Chrome デバッガー ツールで関連するボックスにチェックを入れ、テスト中にデバッガーを選択しないでください)。
ページを開くと、hastag が#!latest
期待どおりに変更されていることがわかりますが、実行されると空のルートcan.route.ready(true)
に戻ります。#!
なぜそのような奇妙な行動があるのですか?
ただし、このページのキャッシュがある場合は機能します。
javascript - Canjs: 現在のページのルート イベントをトリガーする
次のような can.Control があります。
現在のページが {page: "home", type: "test"} の場合、"route" コールバックは呼び出されません。
現在表示しているページに関係なく、ルート イベントをトリガーするにはどうすればよいですか?
私の考え...直接
呼び出すことはできますthis.route()
が、URLの変更を処理する必要があるため、良い解決策ではありません.
javascript-framework - CanJS マルチページ アプリ
私が見たチュートリアルと例はすべて単一ページのアプリケーションです。
CanJS を使用して複数ページのアプリを開発する方法を示すリソースを紹介したり、アイデアを提供したりできる人はいますか?
javascript - Location.hash は空の文字列を返します
現在、Web アプリケーションに jQuery、Twitter Bootstrap、および CanJS を使用しています。CanJSでルーティングを実装しようとしています。Bootstrap のタブを使用しています。タブをクリックすると、#tabSearch、#tabUser、または #tabPermissions が表示されるはずでしたが、ハッシュが空の文字列で返されます。私は何を間違っていますか?
これを使用してタブを変更しています:
HTML部分は次のとおりです。
canjs - jsはルートマッチングを遅らせたり、手動でディスパッチをトリガーしたりできますか?
私は次のように設定されたコントロールを持っています:
- 非同期にロードされたビューをレンダリングします。
- ビューのデータも非同期でロードされます。
- ルート変更をリッスンします。ルート ハンドラーの 1 つは、手順 2 で読み込まれたモデルの詳細を含むモーダルを表示します。
問題は、ユーザーがモデルを指すルートを持つページに到達する可能性があることです。これは、コントロールが初期化された時点では使用できないため、明らかにモーダルがロードされません。
ビューがレンダリングされた後にディスチャーを再度トリガーするか、コントローラーをルートに移動させるにはどうすればよいですか?
javascript - can.routing : #!/foo/bar から #!/foo への変更のトリガー
CanJS のルーティングを理解しようとしています。これまでのところ、次のルートを設定しています。
コンソールでこれを試しているだけなので、まだリスナーを設定していません。以下はうまくいきます:
しかし、これを行った後、イベントをトリガーして、階層を「上」に移動し、#!/plant/1 レベルに戻りたいと考えています。やってみcan.route.attr({plant : 1, day : undefined})
ましたが、何もしませんでした。can.route.attr({plant : 1, day : null})
という結果になりました#!plant/1/day/null
。
では、ルートを「リセット」して、今日がどの日かを「知る」にはどうすればよいでしょうか。
javascript - {can.route} を使用して空のルートをリッスンし、応答するにはどうすればよいですか?
ヒットした URL に応じて、対応するコントロールが設定されるように、CanJS でルーティングを設定したいと考えています。私の問題は、コントロールでリッスンするデフォルトルートを表現する方法を見つけようとしていることです:「一致するものがない場合は、これを実行してください」. これを行うためのヒントはありますか?
これはこれまでの私のコードです。/#!/plant/1/day/3
andのような URLでは機能するようですが、 or/#!/plant/1
では機能しないようです/#!
/
PS私は実際にこれを行うことでCan.Control.routeプラグインを使用してそれを行うことができました:
しかし、ルート プラグインはルートの設定とルートへの反応の両方を行っているようで、特定のプラグインを使わずにこれを行う方法を知りたいと思っていました。