angularjs – $location改变?参数分隔符

前端之家收集整理的这篇文章主要介绍了angularjs – $location改变?参数分隔符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不想从我的控制器/工厂/需要/温度打开以下网址?open = temperature,其中参数open = temperature是要求页面打开相关弹出窗口,代码如下:

$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 / temperature?open =请求的温度,问号被?替换,阻止页面打开.

有什么想法解决这个问题?

解决方法

如果您尝试使用$location.path获取当前路径,它将返回没有查询字符串的路径,因为$location.path不理解它们.这就是为什么它在追加新路径时对其进行编码的原因.

你应该使用不会编码的$location.url吗?因为它处理.path,.search和.hash的更改

$location.url(url);

猜你在找的Angularjs相关文章