Einstieg
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-transitions`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/transitions/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Abschnitt mit dem Titel “Installation”
Sie können unser AI-gestütztes Setup verwenden, um das Plugin zu installieren. Fügen Sie die __CAPGO_KEEP_0__-Fähigkeiten Ihrem AI-Tool mit der folgenden Befehl hinzu:You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann folgende Anweisung:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-transitions` plugin in my project.Wenn Sie eine manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die darunter aufgeführten Plattform-spezifischen Anweisungen befolgen:
-
Installieren Sie das Paket
Terminal-Fenster npm install @capgo/capacitor-transitions -
Registrieren Sie die Web-Komponenten
import '@capgo/capacitor-transitions'; -
Routete Seiten einhüllen
<cap-router-outlet platform="auto" swipe-gesture="auto"><cap-page><cap-header slot="header"><h1>Inbox</h1></cap-header><cap-content slot="content"><button>Open message</button></cap-content><cap-footer slot="footer"><nav>Tabs</nav></cap-footer></cap-page></cap-router-outlet> -
Legen Sie die Richtung fest, bevor sich Ihre Router-Route ändert
import { setDirection } from '@capgo/capacitor-transitions/react';setDirection('forward');router.push('/message/42');setDirection('back');router.back();
React-Einrichtung
Abschnitt mit dem Titel „React-Einrichtung“import { useEffect, useRef } from 'react';import { useNavigate } from 'react-router-dom';import { initTransitions, setDirection, setupPage, setupRouterOutlet } from '@capgo/capacitor-transitions/react';import '@capgo/capacitor-transitions';
initTransitions({ platform: 'auto' });
export function AppShell() { const outletRef = useRef<HTMLElement>(null);
useEffect(() => { if (!outletRef.current) return;
setupRouterOutlet(outletRef.current, { platform: 'auto', swipeGesture: 'auto', }); }, []);
return ( <cap-router-outlet ref={outletRef}> {/* Your router renders cap-page children here. */} </cap-router-outlet> );}
export function InboxPage() { const navigate = useNavigate(); const pageRef = useRef<HTMLElement>(null);
useEffect(() => { if (!pageRef.current) return;
return setupPage(pageRef.current, { onDidEnter: () => console.log('Inbox visible'), }); }, []);
return ( <cap-page ref={pageRef}> <cap-header slot="header"> <h1>Inbox</h1> </cap-header>
<cap-content slot="content"> <button onClick={() => { setDirection('forward'); navigate('/message/42'); }} > Open message </button> </cap-content> </cap-page> );}React JSX TypeScript
Abschnitt mit dem Titel „React JSX TypeScript“Importieren von @capgo/capacitor-transitions/react enthält JSX-Typen für cap-router-outlet, cap-page, cap-header, cap-contentund cap-footer. In most React projects, that import makes the custom elements valid in TSX automatically.
Wenn TypeScript immer noch Meldungen ausgibt Property 'cap-router-outlet' does not exist on type 'JSX.IntrinsicElements', fügen Sie eine Projektdeklarationsdatei hinzu:
import '@capgo/capacitor-transitions/react';Für Vite, Create React App und die meisten webpack-React-Anwendungen reicht es aus, diese Datei in src/ zu platzieren. Für Next.js legen Sie sie in src/ oder in den Projektroot und stellen sicher, dass tsconfig.json sie einbezieht:
{ "include": ["src", "src/capgo-transitions.d.ts"]}Für benutzerdefinierte TypeScript- oder webpack-Konfigurationen, die ein separates types/ Verzeichnis verwenden, beziehen Sie stattdessen dieses Verzeichnis ein:
{ "include": ["src", "types"]}Zurück scrollen
Abschnitt mit dem Titel “Zurück scrollen”Aktivieren oder deaktivieren Sie die iOS-Eckgeste aus Markup:
<cap-router-outlet swipe-gesture="auto"></cap-router-outlet><cap-router-outlet swipe-gesture="true"></cap-router-outlet><cap-router-outlet swipe-gesture="false"></cap-router-outlet>Oder aus JavaScript:
const outlet = document.querySelector('cap-router-outlet');
outlet?.setSwipeGesture('auto');outlet?.setSwipeGesture(true);outlet?.setSwipeGesture(false);auto Aktiviert die Geste nur, wenn Capacitor eine native iOS-Umgebung meldet. Während der Geste folgt die Seiteübergangsgeste der Fingerbewegung. Wenn der Benutzer loslässt, beendet die Übergangsgeste entweder und fragt den Browser-Historie nach, oder storniert sie und restauriert die aktuelle Seite.
Um ein Element davon abzuhalten, die Geste zu starten, fügen Sie data-swipe-gesture-ignore:
<button data-swipe-gesture-ignore>Open drawer</button>Mit Native Navigation
Abschnitt mit dem Titel “Mit Native Navigation”Verwenden Sie @capgo/capacitor-transitions mit @capgo/native-navigation wenn native die oberen und unteren Leisten besitzen soll, während die Webinhalte die Ionic-Style-Seiteneigenschaften beibehalten.
-
Installieren und synchronisieren Sie das native Navigation-Paket:
Terminal-Fenster npm install @capgo/native-navigationnpx cap sync -
Konfigurieren Sie die native Chrome:
import { NativeNavigation } from '@capgo/native-navigation';await NativeNavigation.configure({contentInsetMode: 'css',});await NativeNavigation.setNavbar({title: 'Inbox',backButton: { visible: false },}); -
Bleiben Sie bei der Verantwortung für die Web-Übergangsausgänge nur bei den Seiten:
<cap-router-outlet platform="auto" swipe-gesture="auto"><cap-page><cap-content slot="content" fullscreen><main class="native-page">Inbox content</main></cap-content></cap-page></cap-router-outlet>.native-page {padding-top: var(--cap-native-navigation-top);padding-bottom: var(--cap-native-navigation-bottom);} -
Steueren Sie beide Systeme von denselben Routerevents aus:
import { NativeNavigation } from '@capgo/native-navigation';import { setDirection } from '@capgo/capacitor-transitions/react';import { router } from './router';await NativeNavigation.addListener('navbarBack', () => {setDirection('back');router.back();});async function openMessage(id: string) {setDirection('forward');router.push(`/message/${id}`);await NativeNavigation.setNavbar({title: 'Message',backButton: { visible: true, title: 'Inbox' },});}
Lassen Sie die native Oberleiste nicht erneut als bewegliche anzeigen. <cap-header>. Lassen @capgo/native-navigation Bewahren Sie die Oberleiste native und verwenden Sie sie @capgo/capacitor-transitions für die WebView-Seitenergebnisse darunter.
Komponenten
Abschnitt mit dem Titel „Komponenten“<cap-router-outlet>
Abschnitt mit dem Titel „<cap-router-outlet>“| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
platform | 'ios' | 'android' | 'auto' | 'auto' | Animationsschwerpunkt |
duration | number | Plattformstandard | Animationdauer in Millisekunden |
keep-in-dom | boolean | true | Inaktive Seiten im DOM behalten |
max-cached | number | 10 | Maximal gecachte Seiten |
swipe-gesture | boolean | 'auto' | 'auto' | iOS-Randgeste ermöglichen, deaktivieren oder automatisch erkennen |
Methode(n):
push(element, config?)pop(config?)setRoot(element, config?)setSwipeGesture(true | false | 'auto')
<cap-page>
Abschnitt mit dem Titel „<cap-page>“Ermöglicht die Verwendung einer Seite und sendet Lebenszyklusereignisse:
cap-will-entercap-did-entercap-will-leavecap-did-leave
<cap-content>
Abschnitt mit dem Titel „<cap-content>“| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
fullscreen | boolean | false | Lassen Sie den Inhalt hinter dem Header scrollen |
scroll-x | boolean | true | Horizontales Scrollen aktivieren |
scroll-y | boolean | true | Vertikales Scrollen aktivieren |
Framework-Hilfsfunktionen
Abschnitt mit dem Titel „Framework-Hilfsfunktionen“Die Framework-Eintrittspunkte offenbaren die gleichen Kernhilfsfunktionen:
import { initTransitions, setDirection, setupPage, setupRouterOutlet } from '@capgo/capacitor-transitions/react';
initTransitions({ platform: 'auto' });setDirection('forward');setupRouterOutlet(element, { platform: 'auto', swipeGesture: 'auto' });setupPage(element, { onWillEnter, onDidEnter, onWillLeave, onDidLeave });Verfügbare Eintrittspunkte:
@capgo/capacitor-transitions/react@capgo/capacitor-transitions/vue@capgo/capacitor-transitions/angular@capgo/capacitor-transitions/svelte@capgo/capacitor-transitions/solid
Weitergehen von Getting Started
Abschnitt mit dem Titel „Weitergehen von Getting Started“Wenn Sie es verwenden Einstieg um die Migration und die Betriebsabläufe zu planen und zu verbinden es mit Verwenden Sie @capgo/capacitor-Übergänge für die native Fähigkeit in Verwenden Sie @capgo/capacitor-Übergänge Capgo-Unternehmenslösung für den Produktworkflow in Capgo-Unternehmenslösung Ionic-Unternehmens-Plugin-Alternativen für den Produktworkflow in Ionic-Unternehmens-Plugin-Alternativen Capgo-Alternativen für den Produktworkflow in Capgo-Alternativen und Capgo-Beratung für das Produktworkflow in Capgo Consulting.