为什么在使用Angular Service worker时无法以编程方式更改href?

时间:2018-11-27 03:13:00

标签: angular-service-worker

我正在尝试在使用Angular Service工作程序的外部网页中以编程方式更改链接的href。

链接看起来像pod 'ThePod', :git => 'https://gitlab.kz/company/mobile/ios-app.git', :branch => 'feature-branch' ,并使用以下EventListener:

pod install

当我跑步时 <a _ngcontent-c32="" href="/something">Something</a>function(e){if(e=e||t.event){var n=this||e.target||t,r=n[C[e.type][f]];if(r)if(1===r.length)y(r[0],n,e);else for(var i=r.slice(),o=0;o<i.length&&(!e||!0!==e[z]);o++)y(i[o],n,e)}} 我可以看到href在技术上有所改变,但是当我单击链接并使用原始href时,网页完全忽略了它。

我可以做些什么使服务人员知道此更改吗?

1 个答案:

答案 0 :(得分:1)

首先尝试使用角度属性[attr.href][href],并使用它可以通过使用三元条件以编程方式更改url。

<a [href]="reverse ? 'https://stackoverflow.com/questions/53492185/why-cant-i-change-href-programmatically-in-angular' : 'https://material.angular.io/components/select/overview'" target="_blank">click here</a>
  

注意:这两个属性都不会附加base URL,因此您需要   指定完整路径。