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

标签 javascript angularjs angular-ui-router

我有一个客户端列表,我想使用 $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
})">

关于javascript - 如何在 ui-sref 中转义 UI 路由器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42098497/

相关文章:

javascript - 获取 Firebase doc.data 未定义

javascript - Angularjs 表单验证指令失败

javascript - 为什么嵌套指令 Controller 和 Link 函数触发顺序取决于 template 和 templateUrl?

angular-ui-router - ionic 4 : How to set navigation direction (backward/forward) using routerLink?

javascript - 查找表和整数范围 - javascript

javascript - 图表 : how to set custom scale in bar chart

javascript - 当用户按下浏览器的后退按钮时关闭 Jquery 对话框

javascript - 如何在js中将html内容添加到静态文本中

javascript - Angularjs ui-view 不工作

javascript - 如何用 usemin 替换指向 ui-router 版本文件的链接