angular2でそれを行う方法はありますが、これはバグであることに強く反対します。私はangular1に慣れていませんが、場合によっては役立つと主張しているのに、これは本当に間違った動作のように見えますが、明らかに、これはフレームワークのデフォルトの動作ではないはずです。
不一致は別として、すべてのリンクを取得し、hrefのコンテンツをチェックする単純なディレクティブを記述し、その長さが0の場合は実行することができますpreventDefault()。これが小さな例です。
@Directive({
selector : '[href]',
host : {
'(click)' : 'preventDefault($event)'
}
})
class MyInhertLink {
@Input() href;
preventDefault(event) {
if(this.href.length == 0) event.preventDefault();
}
}
PLATFORM_DIRECTIVESにこのディレクティブを追加することで、アプリケーション全体で機能するようにすることができます
bootstrap(App, [provide(PLATFORM_DIRECTIVES, {useValue: MyInhertLink, multi: true})]);
以下は、動作例を示すplnkrです。