javascript - 无法使用 Angular ui-router 转换状态

标签 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'

我能找到的文档/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/

相关文章:

javascript - 为什么事件处理程序最初返回的事件是 'undefined' ?

javascript - AngularFire 获取 child 的数据

javascript - html5模式下的AngularJS路由错误

javascript - 如何使用angularjs仅选中ng-repeat复选框中的一个复选框?

javascript - 使用 ui-router 进行 "main"布局?

Angularjs ui-router 阻止访问非状态路由

javascript - 异步等待,forEach 循环仍然异步运行

javascript - 如何在用于状态的对象中删除和添加数组元素?

javascript - 如何在 google scriptlet 中传递 javascript 变量?

javascript - AngularJS + Fullcalendar 发送错误TypeError : Cannot read property '__id' of undefined