UI 路由器参数 URL 无法正常工作,只是重定向到 /
UI Router parameter URL not working just redirecting to /
我正在尝试让 UI 路由器有一个详细的消息视图,这里是代码:
.state('app.messages.detail', {
url: 'messages/{id}',
templateUrl: 'templates/views/message.html',
controller: function($scope, sharedProperties, $stateParams) {
console.log($stateParams);
messages = sharedProperties.getMessages();
$scope.message = messsages.name[$stateParams.id];
}
})
这是消息数组:
var messages = {
"Deputy":
{
"name": "Deputy",
"message": ["Test", "Whey", "I See you!"]
},
"SOCO":
{
"name": "SOCO",
"message": ["Second Test", "Does this actually work?"]
}
};
然而,当我转到 /#/messages/Deputy
时,我被重定向到 /
(有一个重定向说要转到 /
如果找不到页面)
当您 运行 此代码时,您应该会在控制台看到类似这样的错误:
无法读取未定义的 属性 'Deputy'
我认为真正的消息定义应该是:
$scope.message = messsages[$stateParams.id];
很高兴看到状态层次结构的完整图片。因为这个:
However when I go to /#/messages/Deputy
I get redirected to /
(There's a redirect to say to go to /
if page not found)
可能与父状态相关,(我预计)已经定义了 /messages
// parent
.state('app.messages', {
url: '/messages',
// child should not repeat the parent's *url* part, it is already there
.state('app.messages.detail', {
//url: 'messages/{id}',
url: '/{id}',
因为如果不进行调整(使用双倍 /messages
定义),我们将需要这样的 url
/#/messages/messages/Deputy
我正在尝试让 UI 路由器有一个详细的消息视图,这里是代码:
.state('app.messages.detail', {
url: 'messages/{id}',
templateUrl: 'templates/views/message.html',
controller: function($scope, sharedProperties, $stateParams) {
console.log($stateParams);
messages = sharedProperties.getMessages();
$scope.message = messsages.name[$stateParams.id];
}
})
这是消息数组:
var messages = {
"Deputy":
{
"name": "Deputy",
"message": ["Test", "Whey", "I See you!"]
},
"SOCO":
{
"name": "SOCO",
"message": ["Second Test", "Does this actually work?"]
}
};
然而,当我转到 /#/messages/Deputy
时,我被重定向到 /
(有一个重定向说要转到 /
如果找不到页面)
当您 运行 此代码时,您应该会在控制台看到类似这样的错误:
无法读取未定义的 属性 'Deputy'
我认为真正的消息定义应该是:
$scope.message = messsages[$stateParams.id];
很高兴看到状态层次结构的完整图片。因为这个:
However when I go to
/#/messages/Deputy
I get redirected to/
(There's a redirect to say to go to/
if page not found)
可能与父状态相关,(我预计)已经定义了 /messages
// parent
.state('app.messages', {
url: '/messages',
// child should not repeat the parent's *url* part, it is already there
.state('app.messages.detail', {
//url: 'messages/{id}',
url: '/{id}',
因为如果不进行调整(使用双倍 /messages
定义),我们将需要这样的 url
/#/messages/messages/Deputy