使用 ng-href 传递 $location.search 参数

Passing $location.search parameters using ng-href

我当前的代码中发生了一些非常奇怪的事情。

所以我正在使用 ng-repeat 创建基于对象数组的多个元素,如下所示:

<a ng-repeat="report in reports" ng-href="#/report?report={{report.id}}+file=0" ></a>

据我所知,我渲染的 HTML 看起来是这样的:

<a ng-repeat="report in reports" ng-href="#/report?report=81+file=0" 
class="ng-scope" href="#/report?report=81+file=0">

如果我现在单击此 link,我将被重定向到这样的 url:

[root-url]/index.php#/report?report=84%20file%3D0

当我真的想来这里的时候:

[root-url]/index.php#/report?report=84+file=0

为什么“+”和第二个“=”符号在 links-href-属性中是正确的?有人有同样的问题吗?知道我做错了什么吗?

它正在被 URL 编码。它仍然具有相同的值。

目前,您只有一个键控 report 且值为 84 file=0 的参数。本例中的加号表示 space.

我假设您想要两个参数:reportfile。要在 URL 中拆分参数,您必须使用与符号 (&) 而不是加号。

<a ng-repeat="report in reports" ng-href="#/report?report={{report.id}}&file=0" ></a>