无法使用Angular ui-router过渡状态

时间:2014-07-01 21:09:22

标签: javascript angularjs angular-ui-router

我试图在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'

我能找到的docs / API refs对我帮助不大。

1 个答案:

答案 0 :(得分:2)

此处的问题是由于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