routerLink 指令在 <area> 元素上使用时不设置 href 属性

routerLink directive does not set the href attribute when used used on an <area> element

我试图通过单击区域元素导航到新页面,但没有任何反应。如果我同样适用于 <a></a> 标签,它会按预期工作。

HTML

<area shape="rect" coords="0,0,82,126"
          routerLink="/help"
          target="_blank" alt="Circle" />

app.module.ts

@NgModule({
  imports: [BrowserModule, FormsModule, 
  RouterModule.forRoot([
    {
      path: '',
      component: HelloComponent
    },
    {
      path: 'help',
      component: HelpComponent
    }
  ])],
  declarations: [AppComponent, HelloComponent, HelpComponent],
  bootstrap: [AppComponent]
})
export class AppModule { }

我正在使用 Angular 7.0.1.

你能检查一下下面的 stackblitz,也许你错过了为 area 元素添加周围的组件。

下面是 html 包装 area 元素。

<img usemap="#infographic" src="https://interactive-examples.mdn.mozilla.net/media/examples/mdn-info2.png" alt="MDN infographic" />
<map name="infographic">
    <area shape="poly" coords="130,147,200,107,254,219,130,228"
          routerLink="/help" alt="HTML" />
    <area shape="poly" coords="130,147,130,228,6,219,59,107"
          routerLink="/docs/Web/CSS"
          target="_blank" alt="CSS" />
    <area shape="poly" coords="130,147,200,107,130,4,59,107"
          routerLink="/docs/Web/JavaScript"
          target="_blank" alt="JavaScript" />
</map>
<router-outlet></router-outlet>

用户更新的堆栈闪电战中缺少路由器插座,点击中间区域元素导航时发生!

StackBlitz