我正在尝试使用 ui-router 更改状态并将 GUID 参数传递给我的控制器。我使用剑道(不同的语法)进行这项工作,所以我知道我的目标是什么。我一生都无法弄清楚这笔交易是什么。我进行了广泛的搜索,我相信我有正确的 ui-sref 语法。这里是:
<a ui-sref="clientEdit({ clientId: '{{vm.clientModel.id}}' })">Edit Link</a>
在渲染视图中生成此输出(注意缺少 id):
<a ui-sref="clientEdit({ clientId: 'bfd50b6c-6542-48c5-adf7-8c1a21caf421' })" href="#/clientEdit/">Edit Link</a>
这是我的状态:
.state("clientEdit", {
url: "/clientEdit/:clientId",
templateUrl: "/CompanyDashboard/ClientsCrud",
controller: "DashboardClientsCtl",
controllerAs: "vm"
})
当我将 ID 硬编码到 ui-sref 中时,它会按预期工作并为标签生成正确的 href。像这样:
<a ui-sref="clientEdit({clientId:'bfd50b6c-6542-48c5-adf7-8c1a21caf421'})">Hard code Edit Link</a>
硬编码的 ID 标签在渲染视图中产生这个输出(正如我所期望的那样):
<a ui-sref="clientEdit({clientId:'bfd50b6c-6542-48c5-adf7-8c1a21caf421'})" href="#/clientEdit/bfd50b6c-6542-48c5-adf7-8c1a21caf421">Hard code Edit Link</a>
所以,我的问题是:我在这里错过了什么吗?我真的相信这应该可行,因为我已经成功地使用剑道模板进行了不同的路线。
以防万一,这是有效的剑道模板代码:
template: "<a ui-sref='clientDetails({clientId:\"#=id#\"})'>#=customerNumber#</a>"
我已经尝试将引号更改为 Kendo 示例中的两倍,删除引号,从 Id 表达式中删除 {{ }}。没有喜悦。
感谢您的任何帮助。