Angular.js ルーティングの動作を理解するのが難しい場合があります
これが私のコードです
私のapp.js:
'use strict';
var app = angular.module('myApp', []).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/game/room', {templateUrl: 'roomGame', controller: roomCtrl});
$routeProvider.otherwise({redirectTo: '/game/room'});
$locationProvider.html5Mode(true);
}]);
ルート サーバー側を定義する index.js:
app.get('/game', function (req, res)
{
console.log("we are in /game");
res.render("game/index", {
user: req.session
});
});
app.get('/game/roomGame', function (req, res)
{
console.log("we are in /game/roomGame");
res.render("game/roomGame";
});
index.jade:
div(ng-controller="indexCtrl")
a(href='/') Quitter
div(ng-view)
もう 1 つのファイル roomGame.jade がありますが、ソース コードを表示することは重要ではありません。
ブラウザを開き、次のように入力します: localhost:3000/game.
予想どおり、私は localhost:3000/game/room にリダイレクトされ、予想されるビューが表示されます。
しかし、次のように入力すると、localhost:3000/game/room または localhost:3000/game/foo と入力すると、「cannot GET /game/xxx」と表示されます。
/game にリダイレクトしてから、/game/room にリダイレクトしたいです。どのように可能ですか?