$routeProvide を使用してページをあるページから別のページにリダイレクトし、その中でいくつかの動的パラメーターを URL に渡しています。
ある場所で機能し、別の場所では機能しません。
私のコード:app.jsで
app.config(['$routeProvider', '$locationProvider',
function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: "client/home/home.html",
controller: "IndexCtrl",
access: {
isloggedIn: false
}
})
.when('/test/:searchTerm', {
templateUrl: "client/test.html",
controller: "testController",
access: {
isloggedIn: false
}
})
.when('/test2/:id', {
templateUrl: "client/index.html",
controller: "indexController",
access: {
isloggedIn: true
}
})
.otherwise({
redirectTo: "/"
});
}]);
コントローラーファイルで:testControllerの場合、url server.com/#/test/45をヒットするとコンソール45になり、indexControllerの場合、url server.com/#/test2/45をヒットすると、コンソールでidを取得します。
app.controller("testController", ['$location', '$rootScope', '$routeParams', function ($location, $rootScope, $routeParams) {
console.log($routeParams.searchTerm); //get result 45
}]);
app.controller("indexController", ['$location', '$rootScope', '$routeParams', function ($location, $rootScope, $routeParams) {
console.log($routeParams.id); //get result :id
}]);
なぜこれが起こるのですか?そして、何が問題になるべきですか?