Javascript 角度插值{{}在url参数中,是否有方法清理url?

Javascript 角度插值{{}在url参数中,是否有方法清理url?,javascript,angularjs,angular1.6,Javascript,Angularjs,Angular1.6,我们有一个边缘案例问题,外部应用程序需要在我们网站的url请求中提供特定的url参数: https://stackoverflow.com/questions/ask?abc=123 以下是一个屏幕截图: 有时,url参数无法正确呈现,导致url变为: https://stackoverflow.com/questions/ask?abc={{} 我们的应用程序运行angular,它无法解析它,从而导致网页出现不必要的错误 angular是否有办法在url进入应用程序之前对其进行编码? 细节

我们有一个边缘案例问题,外部应用程序需要在我们网站的url请求中提供特定的url参数:

https://stackoverflow.com/questions/ask?abc=123

以下是一个屏幕截图:

有时,url参数无法正确呈现,导致url变为:

https://stackoverflow.com/questions/ask?abc={{}

我们的应用程序运行angular,它无法解析它,从而导致网页出现不必要的错误

angular是否有办法在url进入应用程序之前对其进行编码?

细节
  • 角度1.6.6
当前解决方案 我们有一个临时的
nginx
重定向解决方案,但相信如果我们解决了问题的根源,它会更好

我们已经阅读了很多关于更改模板标记的内容,但这是一个巨大的修复

预期
我们不使用任何自定义url变量。我们希望它在不解析
https://stackoverflow.com/questions/ask?abc={{}

您需要绑定
[queryParams]=“{'abc':'test'}”中的参数

由于需要传递对象,因此可以在typescript中动态创建对象

试着这样做:

HTML

<a [routerLink]="['https://stackoverflow.com/questions/ask']" [queryParams]="getQueryParam()">Link</a>
  getQueryParam() {
    var queryParam = {};
    queryParam['abc'] = this.some_variable;
    return queryParam;
  }

问题可能与此有关:


也就是说,这是一个已知的角度问题。

经过研究,我们发现Drupal呈现形式使用了一个名为request_uri()的函数,该函数不编码输出。因此,操作url在页面上加载时会导致角度错误


我们找到的解决方案是添加重定向。

使用
ng href
这将仅在解析字符串后放置href。您是否使用AngularJS或AngularJS?你把两个标签都放在你的问题上,但它们是不同的框架,有不同的指令。此外,如果您将HTML代码发布到链接所在的位置,也会很容易得到帮助is@VirgilioGM我用一些截图、标签和更多细节更新了这个问题。我们目前正在使用Angular1.6。这个解决方案适用于angular,但问题是关于AngularJS的。