繁体   English   中英

如何在 ui-sref 中转义 UI 路由器参数

[英]How to escape UI router params in ui-sref

我有一个客户列表,我想使用$stateParams传递客户名称

<a ui-sref="cmd.projects_by_client_id({
  clientId:{{client.vid[0].value}},
  client:'{{client.title[0].value}}' <-- the issue
})">
  {{client.title[0].value}}
</a>

我在那里拥有的东西大部分都有效。 我的问题是,如果客户端名称包含单引号,显然我会收到一个词法分析器错误,抱怨未关闭的单引号。

我试图逃避 stateParam。 我试过通过函数传递字符串,但该函数似乎没有被调用。 可能是因为ui-sref不支持

<a ui-sref="cmd.projects_by_client_id({
  clientId:{{client.vid[0].value}},
  client:$scope.someUrlEncodeFunction('{{client.title[0].value}}')
})">
  {{client.title[0].value}}
</a>

我已经四处搜索,但我一直无法找到这个问题的答案。

编辑

我发现这有效,因为它仍然是 JSON 格式,但我不想再次解析它:

<a ui-sref="cmd.projects_by_client_id({
  clientId:{{client.vid[0].value}},
  client:{{client.title[0]}}
})">
  {{client.title[0].value}}
</a>

你不应该在那里使用{{}}不需要用单引号包裹它。 client.title[0].value将根据当前范围进行评估, href将根据该值创建。

<a ui-sref="cmd.projects_by_client_id({
  clientId: client.vid[0].value,
  client: client.title[0].value
})">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM