ionic-team / ionic-team/ionic-framework

bug: Angular Ionic Android back button callback is executing twice

Offen
#30,115 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
triage
Vorherrschende Sprache
TypeScript
Sterne
52.7k
Forks
13.3k
Ø Merge
1 T. 15 Std.
Gemergte PRs (30 T.)
51

Beschreibung

### Prerequisites

- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v8.x

### Current Behavior

`app.component.html`:
```html



```

my page (component) TS file:
```ts
import { Component, inject, OnDestroy, OnInit } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { Subscription } from 'rxjs';
import { Platform } from '@ionic/angular/standalone';

@Component({
selector: 'e-test',
standalone: true,
imports: [CommonModule, RouterModule],
templateUrl: './test.component.html',
styleUrls: ['./test.component.scss'],
})
export class TestComponent implements OnInit, OnDestroy {
private readonly _platform = inject(Platform);
private _backSub!: Subscription;

ngOnInit() {
this._backSub = this._platform.backButton.subscribeWithPriority(
101,
() => {
console.log('back button called');
},
);
}

ngOnDestroy(): void {
if (this._backSub) this._backSub.unsubscribe();
}
}
```

As far as I can see, everything is correct! But my callback will be called twice!
Can someone help? Thanks a lot ❤️

### Expected Behavior

The callback should be called only once, because we subscribed to `subscribeWithPriority` only once... And we also unsubscribe from it, whenever the component is destroyed.

### Steps to Reproduce

1. Simply click the Android native back button.
2. Then you will see that 'back button called' console log message shows twice.

### Code Reproduction URL

https://stackblitz.com/edit/wusmwpve?file=src%2Fapp%2Fexample.component.ts

### Ionic Info

Ionic:

Ionic CLI : 7.2.0

Utility:

cordova-res : not installed globally
native-run : not installed globally

System:

NodeJS : v20.11.0
npm : 10.2.4
OS : Windows 10

### Additional Information

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.