rav*_*oll 0 firefox internet-explorer shim angular-cli angular
我有一个新的 Angular 5 CLI 应用程序,并为应用程序的顶部构建了一个导航菜单组件。当我在 Edge 和 Chrome 中单击我的菜单项时,它可以完美运行并遵循我在 app.module.ts 中定义的路线。但是,当我单击 IE11 或 Firefox 中的链接时,没有任何反应。我去启用了所有可以在 polyfills.ts 中看到的 polyfill,但仍然没有变化,尽管它们确实解决了在 IE11 中渲染材质图标的问题。
<span *ngIf="isLoggedIn() == false">
<button [routerLinkActive]="['link-active']" mat-icon-button >
<a [routerLink]="['/login']">
<mat-icon>account_circle</mat-icon> Login
</a>
</button>
<span> </span>
</span>
Run Code Online (Sandbox Code Playgroud)
如果我把
<a [routerLink]="['/login']">
<mat-icon>account_circle</mat-icon> Login
</a>
Run Code Online (Sandbox Code Playgroud)
按钮节点的一部分我可以单击它并且它在 IE11 和 Firefox 中正确路由,所以我的路由很好。以某种方式激活锚点在 IE11 和 Firefox 中不起作用。有谁知道这可能是什么?Edge 和 Chrome 完美运行。
这个问题的答案其实很简单。
<button> 标签实际上是不需要的,mat-icon-button 样式可以应用于 <a> 标签
<a [routerLink]="['/login']" [routerLinkActive]="['link-active']" mat-icon-button>
<mat-icon>account_circle</mat-icon> Login
</a>
Run Code Online (Sandbox Code Playgroud)
这样就达到了预期的效果。我发现该按钮遮住了 IE 和 Firefox 中的锚点。当我进行测试时
onclick="this.children[0].children[0].click()"
Run Code Online (Sandbox Code Playgroud)
在按钮上,该路由在 Firefox 和 IE 中有效,这使我得到的答案是,消息没有到达这两个浏览器上的锚点。
归档时间: |
|
查看次数: |
3556 次 |
最近记录: |