Flutter动作生成插件action_box_generator的使用
Flutter 动作生成插件 action_box_generator 的使用
A library for Dart developers.
使用
一个简单的使用示例:
import 'package:action_box/action_box.dart';
// 添加生成的文件
import 'example.config.dart';
[@ActionBoxConfig](/user/ActionBoxConfig)(
// actionBoxType: 'ActionBox', // 默认值
// actionRootType: 'ActionRoot', // 默认值
generateSourceDir: ['*']
)
final actionBox = ActionBox.shared();
特性和问题
请在 问题跟踪器 中提交功能请求和错误报告。
示例代码
如何使用 action_box_generator
插件的示例代码:
import 'package:action_box/action_box.dart';
// 添加生成的文件
import 'action_box_generator_example.a.b.dart';
[@ActionBoxConfig](/user/ActionBoxConfig)(
// actionBoxType: 'ActionBox', // 默认值
// actionRootType: 'ActionRoot', // 默认值
generateSourceDir: ['lib', 'example']
)
final actionBox = ActionBox.shared();
void main() {
var bag = DisposeBag();
// 使用 actionBox 进行数据请求
actionBox((d) => d.ui.common.etc.e);
actionBox((d) => d.ui.common.e);
actionBox((d) => d.gateway.common.e);
actionBox((d) => d.gateway.common.etc.c);
// 请求数据
actionBox((root) => root.valueConverter.getStringInStringOutValue)
.go(param: 'test', channel: (c) => c.exCh1);
// 订阅结果
actionBox((d) => d.valueConverter.getStringInStringOutValue)
.map(channel: (c) => c.exCh1 | c.exCh2)
.listen((result) {
print(result); // 打印结果
}).disposedBy(bag);
// 当完成时调用 dispose 方法
// bag.dispose();
}
更多关于Flutter动作生成插件action_box_generator的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter动作生成插件action_box_generator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
action_box_generator
是一个 Flutter 插件,用于自动生成与动作(Actions)相关的代码,通常用于简化状态管理和事件处理的开发流程。这个插件可以帮助开发者减少手动编写重复代码的工作量,提高开发效率。
安装 action_box_generator
首先,你需要在 pubspec.yaml
文件中添加 action_box_generator
插件的依赖项:
dependencies:
flutter:
sdk: flutter
action_box: ^1.0.0 # 请使用最新版本
dev_dependencies:
build_runner: ^2.1.0
action_box_generator: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
使用 action_box_generator
-
创建 Action 类
在你的项目中创建一个 Action 类,并使用
[@ActionBox](/user/ActionBox)()
注解来标记它。这个类将包含你想要生成的动作。import 'package:action_box/action_box.dart'; [@ActionBox](/user/ActionBox)() class MyActions { void increment() {} void decrement() {} }
-
运行代码生成器
在终端中运行以下命令来生成代码:
flutter pub run build_runner build
这将会生成一个与你的 Action 类相关的代码文件,通常命名为
my_actions.g.dart
。 -
使用生成的代码
生成的代码将包含一个
MyActionsBox
类,你可以使用它来管理你的动作。import 'package:flutter/material.dart'; import 'my_actions.g.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: Text('Action Box Example')), body: Center( child: Counter(), ), ), ); } } class Counter extends StatelessWidget { final MyActionsBox actions = MyActionsBox(); @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text('Counter'), Row( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ IconButton( icon: Icon(Icons.remove), onPressed: actions.decrement, ), IconButton( icon: Icon(Icons.add), onPressed: actions.increment, ), ], ), ], ); } }