このプロジェクトはSPAフレームワーク内で利用されている、webcomponentsからSPA的な遷移をするためのrouterLinkの代替であるappSpaRouterディレクティブのPOC的ななにかです。
Angularで書かれたアプリケーションから/sample
というパスへ遷移した後、こちらが用意したwebcomponentsのfooterからトップ(/
)へ戻るというシナリオを考えます。
// app.module.ts
...
import { SpaRouterlinkDirective } from './spa-routerlink.directive';
...
@NgModule({
declarations: [
AppComponent,
SpaRouterlinkDirective
],
exports: [SpaRouterlinkDirective],
....
// xxx.html
<p appSpaRouter='SPA側のルーターでルーティング定義されているパス'>クリック!</p>
と指定するとappSpaRouterプロパティで渡しているパス先に再ロードなく遷移します。
基本的に画面遷移にHTML5のpushState, pushStateを利用している場合は利用できると思いますが、Angular以外で動作確認してないです。
実際動作可能なリポジトリは、こちらを参考にしてください。