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

时间:2017-02-07 19:38:43

标签: 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>

1 个答案:

答案 0 :(得分:1)

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

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