我试图让有状态路由在 AngularJS 应用程序中工作。我的配置如下:
app.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('index', {
url: '^/',
templateUrl: 'templates/home.html'
})
.state('messsage', {
url: '/message/:id',
templateUrl: 'templates/message.html'
});
// internal redirect to '/' as default
$urlRouterProvider.otherwise("/");
});
主页状态呈现,但是当我单击指向第二个状态的链接时,我在控制台中收到一个错误,基本上说它无法转换状态:
Error: Could not resolve '#/message/0' from state 'index'
我能找到的文档/API 引用对我帮助不大。
最佳答案
这里的问题是由于ui-sref
指令使用不当造成的。有一个 plunker显示问题。
如果我们在 index 状态模板中创建这样的链接:
<a ui-sref="#/message/0">...
我们将得到 Error: Could not resolve '#/message/0' from state 'index'
有效的语法必须像这样(两者相同):
<a href="#/message/0">...
<a ui-sref="message({id:0})">...
查一下here
关于javascript - 无法使用 Angular ui-router 转换状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24519297/