我使用$ 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: "/"
});
}]);
控制器文件中的:当我点击url时为testController 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
}]);
为什么会发生这种情况有人可以帮忙吗应该是什么问题?
答案 0 :(得分:0)
尝试使用($routeParams.id);
代替($routParams.id);
,我不知道为什么$routParams.searchTerm
正在运作,但它不应该route
,不是rout
)。
答案 1 :(得分:0)
似乎你的代码是正确的,除了拼写错误。我能找到的唯一区别是IsLoggedIn属性值。你尝试过它是假的吗?并且IsLoggedIn属性的意义是什么。
答案 2 :(得分:0)
检查hyperlink
到路线/test2/:id
。
它可能像ng-href="#/test2/:id"
将其更改为ng-href="#/test2/{{id}}"
不要忘记定义变量id