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