Child A carries the lock. A→B should prompt; B→A should not. The parent has no lock, so child↔child navigation only consults the active child.
No lock here. You can navigate away freely.
<nav>
<a routerLink="a" routerLinkActive="active">Child A (locked)</a>
<a routerLink="b" routerLinkActive="active">Child B (free)</a>
</nav>
<router-outlet></router-outlet>
import { Component } from '@angular/core';
import { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';
@Component({
selector: 'my-master-detail-demo',
templateUrl: './my-master-detail-demo.component.html',
imports: [RouterLink, RouterLinkActive, RouterOutlet],
})
export class MyMasterDetailDemoComponent {}