使用 依赖注入 的 Flutter 解决方案

用法

创建您的业务逻辑类,并将所有变量和方法放在其中。

import 'package:power_state/power_state.dart';

class CounterController extends PowerController {
  int count = 1;

  increment() {
    count++;
    notifyListeners();
  }
}

使用 PowerVault.put(CounterController()) 实例化您的类

final CounterController controller = PowerVault.put(CounterController());

然后在您的 UI 侧可以使用 powerBuilder 组件

 PowerBuilder<CounterController>(
              builder: (countController) {
                return Text(countController.count.toString());
              },
            ),

您可以找到另一个页面正在使用的 Controller 并重定向到它。

final CounterController countController = PowerVault.find();

您可以删除一个 Controller。

PowerVault.delete<CounterController>();

PowerSelector 组件

PowerSelector 允许您选择一个特定的值来监听。然后,只有当所选值发生变化时,由 Selector 的 builder 方法返回的组件才会重建。

PowerSelector<CounterController>(
              <!-- It will listen selectorValue -->
              selector: () => controller.selectorValue,
              builder: (countController) {
                return Text(countController.selectorValue.toString());
              },
 ),

最后,使用示例代码进行练习

GitHub

查看 Github