ui-router不能与路由中的参数一起使用

时间:2014-12-18 20:53:03

标签: angularjs angular-ui-router

由于某种原因,它对于带参数的路由不起作用。它甚至不为这样的锚点渲染src属性。我做了一个简单的plunk来演示这个,这里是代码:

<body ng-controller="MainCtrl">
    <a ui-sref="categories/foo">category</a>
    <a ui-sref="blah">blah</a>
</body>

和路线:

$stateProvider
.state 'blah',
  url: 'blah'
.state 'categories',
  url: "categories/:name"

第一次工作正常,第二次 - 没有。为什么会这样?我做错了什么?

2 个答案:

答案 0 :(得分:2)

使用参数导航到州 ui-sref还将状态名称作为语法的函数,使用params对象(您希望传递给state)作为参数

所以替换

<a ui-sref="categories/foo">category</a>

<a ui-sref="categories({name:'foo'})">category</a>

答案 1 :(得分:1)

您可以指定这样的参数(使用您定义的路线):

<a ui-sref="categories({name:'foo'})">category</a>