AngularJS UI 路由器 -> 使用 ui-sref 时无法解析

AngularJS UI Router -> Could not resolve when using ui-sref

我已经设置了一个 JSON 文件,其中包含我的 ui-routes,并且有效。

但是我在使用 Link 时遇到了问题。在使用以下状态时,我已经设法使用它:

{
    "name": "home",
    "url": "^/home",
    "abstract": false,
    "parent": "root",
    "views": [{
        "name": "container@",
        "templateUrl": "/pages/home/index.html",
        "controller": "HomeCtrl"
    }]
},

要访问它,我使用:

<a ui-sref="home">Home</a>

这很完美。

但是当我尝试使用参数执行 'ui-sref' 时,问题就来了。因此,例如,如果要到达此状态:

{
    "name": "approach:module:section",
    "url": "^/approach/:module/:section",
    "controller": "ApproachCtrl",
    "abstract": true,
    "parent": "root",
    "views": [{
        "name": "container@",
        "templateUrl": "/pages/approach/overview.html"
    }]
}

通过阅读文档和其他在线教程,我认为代码现在应该是:

<a ui-sref="approach({module: 'overview', section: '1'})">Approach</a>

这似乎不起作用。我似乎遇到了以下问题:

Error: Could not resolve 'root.approach' from state 'home'

我哪里出错了?

谢谢, 凯恩

我不确定,但我认为 ui-router 正试图找到 root.approach 但它找不到它,也许正如你所命名的您的状态为 approach:module:section。尝试将您的状态重命名为 approach