body method
Defines the actual body code. path
is passed relative to lib
, baseName
is the filename, and className
is the filename converted to Pascal case.
実際の本体コードを定義します。path
にlib
からの相対パス、baseName
にファイル名が渡され、className
にファイル名をパスカルケースに変換した値が渡されます。
Implementation
@override
String body(String baseName, String className) {
return r"""
`Page`を遷移する際に利用する`Router`の利用方法を下記に記載する。
`Router`は`lib/main.dart`で定義されているため適宜`lib/main.dart`をインポートする。
## 通常利用
- 履歴を残して次のページに遷移
```dart
final result = await router.push(NextPage.query());
```
- `result`には遷移先のページでpopメソッドが実行された時に引数に渡された値が返却される。
- 遷移先のページでpopメソッドが実行されるまではawaitが完了しない。
- pushメソッド内で`TransitionQuery`を渡すことで[遷移時のアニメーション](mdc:.cursor/rules/docs/transition_usage.mdc)を設定可能。
```dart
router.push(NextPage.query(), transition: TransitionQuery.fullscreen);
```
- 現在のページの履歴を破棄して次のページに遷移
```dart
router.replace(NextPage.query());
```
- replaceメソッド内で`TransitionQuery`を渡すことで[遷移時のアニメーション](mdc:.cursor/rules/docs/transition_usage.mdc)を設定可能。
```dart
router.replace(NextPage.query(), transition: TransitionQuery.fullscreen);
```
- 前の履歴のページに戻る
```dart
router.pop([returnValue]);
```
- popメソッド内に`returnValue`を渡すことで前のページに戻る時に値を渡すことが可能(任意)
- すべての履歴を削除して指定のページに遷移
```dart
router.resetAndPush(NextPage.query());
```
## ネストされた`Page`(`Page`内に表示された`Page`)での`Router`の利用
- 履歴を残して次のページに遷移
```dart
final result = await context.router.push(NextPage.query());
```
- `result`には遷移先のページでpopメソッドが実行された時に引数に渡された値が返却される。
- 遷移先のページでpopメソッドが実行されるまではawaitが完了しない。
- pushメソッド内で`TransitionQuery`を渡すことで[遷移時のアニメーション](mdc:.cursor/rules/docs/transition_usage.mdc)を設定可能。
```dart
context.router.push(NextPage.query(), transition: TransitionQuery.fullscreen);
```
- 現在のページの履歴を破棄して次のページに遷移
```dart
context.router.replace(NextPage.query());
```
- replaceメソッド内で`TransitionQuery`を渡すことで[遷移時のアニメーション](mdc:.cursor/rules/docs/transition_usage.mdc)を設定可能。
```dart
context.router.replace(NextPage.query(), transition: TransitionQuery.fullscreen);
```
- 前の履歴のページに戻る
```dart
context.router.pop([returnValue]);
```
- popメソッド内に`returnValue`を渡すことで前のページに戻る時に値を渡すことが可能(任意)
- すべての履歴を削除して指定のページに遷移
```dart
context.router.resetAndPush(NextPage.query());
```
""";
}