您是否应该对ChangeNotifier使用“扩展”或“带有”关键字?-flutter

您是否应该对ChangeNotifier使用“扩展”或“带有”关键字?-flutter,第1张

您是否应该对ChangeNotifier使用“扩展”或“带有”关键字?-flutter

您可以使用

extends
继承)或
with
(作为混合)。两种方式都可以使您访问中的
notifyListeners()
方法
ChangeNotifier

遗产

扩展

ChangeNotifier
意味着这
ChangeNotifier
是超类。

class MyModel extends ChangeNotifier {  String somevalue = 'Hello';  void doSomething(String value) {    somevalue = value;    notifyListeners();  }}

如果您的模型类已经在扩展另一个类,则无法扩展,

ChangeNotifier
因为Dart不允许多重继承。在这种情况下,您必须使用mixin。

混合蛋白

mixin允许您使用mixin类的具体方法(即

notifyListeners()
)。

class MyModel with ChangeNotifier {  String somevalue = 'Hello';  void doSomething(String value) {    somevalue = value;    notifyListeners();  }}

因此,即使您的模型已经从另一个类扩展了,您仍然可以“混入”

ChangeNotifier

class MyModel extends SomeOtherClass with ChangeNotifier {  String somevalue = 'Hello';  void doSomething(String value) {    somevalue = value;    notifyListeners();  }}

这是一些关于mixin的好读物:

  • Dart:什么是mixin?
  • Dart for Flutter:Dart中的Mixins


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5052103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存