使用 依赖注入 的 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());
},
),
最后,使用示例代码进行练习