Scoped Model原理.png
-
DataModel继承自Model,作为AnimatedBuilder的animation -
ScopedModel是一个Widget,主要是为了将_InheritedModel置入AnimatedBuilder,同时将child传给_InheritedModel -
child指的是ScopedModelDescendant,实际使用中是子树中包含ScopedModelDescendant的Widget - 修改
DataModel中的数据之后,需要主动调用notifyListeners(),此方法会调用其监听者,这里其实就是AnimatedBuilder的builder,此过程中新建_InheritedModel,ScopedModelDescendant作为_InheritedModel的child会触发build函数,在build函数中调用我们传入ScopedModelDescendant的builder。









网友评论