我不想从我的 Controller /plant/needs/temperatures?open=temperatures 中打开以下 url,其中参数 open=temperatures 要求页面使用以下代码打开相关弹出窗口:
$scope.openPageUrl = function (url) {
closePopover();
console.log("Open page url "+url);
$location.path(url);
};
<a ng-click="openPageUrl('/plant/needs/temperatures?open=temperatures')">Click to open</a>
不幸的是,我收到了这个 url #/plant/needs/temperatures%3Fopen=temperatures 请求,用 %3F 替换了问号,阻止了页面打开。
有什么想法可以解决这个问题吗?
最佳答案
如果您尝试使用 $location.path
获取当前路径它将返回没有查询字符串的路径,因为 $location.path
不明白他们。所以这就是它在附加新路径时对其进行编码的原因。
您应该使用 $location.url
不会编码 ?
.因为它处理了.path
的变化, .search
和 .hash
$location.url(url);
关于angularjs - $location 改变 ?参数分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24764330/