当前位置: 首页 > news >正文

化妆品网站的设计与实现煎蛋网 wordpress

化妆品网站的设计与实现,煎蛋网 wordpress,纺织服装网站建设规划方案,四海网络网站建设定制文章目录 概念介绍实现方法示例代码经验总结 我们在上一章回中介绍了组件之间共享数据相关的内容#xff0c;本章回中将介绍全局共享数据.闲话休提#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在上一章回中介绍了使用InheritedWidget组件共享数据的方法#xff0c… 文章目录 概念介绍实现方法示例代码经验总结 我们在上一章回中介绍了组件之间共享数据相关的内容本章回中将介绍全局共享数据.闲话休提让我们一起Talk Flutter吧。 概念介绍 我们在上一章回中介绍了使用InheritedWidget组件共享数据的方法不过这种共享只限于父组件与子组件之间。本章回中将介绍一种全局共享数据的方式这里说的 全局是指在任意组件之间。我们需要借助provider包实现全局数据共享功能本章回中将详细介绍这方面的内容。此外这种共享数据的方式也叫状态管理因为在 Flutter中更新数据都是通过更新状态实现的类似StatefulWidget组件中的通过setState()方法更新组件状态。 实现方法 我们首先介绍provider包明白包中的内容后再介绍实现共享数据的方法provider包提供了相关的类来实现数据共享功能主要包含5个类下面是它们的详细功能 ChangeNotifier类主要用来实现数据共享类它的核心功能是提供notifyListeners()方法来通知其它组件更新数据ChangeNotifierProvider类主要用来把数据共享类和监听数据变化的组件关联起来Provider类主要用来获取共享数据主要通过它的of()方法来获取数据共享类的实例Consumer类主要用来获取共享数据自带builder和child属性通过builder属性获取数据共享类的实例Selector类主要用来获取共享数据自带builder,selector和child属性通过builder属性获取数据共享类的实例 这些相互协作来实现数据共享功能它的运行过程为ChangeNotifier类提供共享数据并且发出数据变化的通知ChangeNotifierProvider类把数据更新的通 知发给监听共享数据的组件Provider,Consumer,Selector这三个类监听到数据变化的通知后从共享数据中获取数据。明白provider包的运行过程后我们将介 绍具体的实现方法 在yaml文件中导入provider包,并且从网上获取包到本地项目中创建数据共享类,需要继承ChangeNotifier类使用类中的notifyListeners()方法通知数据有更新使用ChangeNotifierProvider组件把数据共享类和监听数据变化的组件关联起来。该类有两个属性: create用来绑定ChangeNotifier类型对象也就是数据共享类child:用来指定哪些widegt可以接收到数据更新的通知 获取更新后的数据有三种方法Provier,Consumer,Selector我们在后面章回中介绍 示例代码 ///创建数据共享类,需要继承ChangeNotifier类使用类中的notifyListeners()方法通知数据有更新 class ViewModel extends ChangeNotifier {late String _data;ViewModel() {_data init data;}String get getData {print(data is gotten at getter);return _data;}set setData(String value) {print(data is changed to \$value\at setter);_data value;///当数据更新时通知更新UInotifyListeners();} }///在整个应用的顶层设置Notifier,///在整个应用的任何位置都可以使用viewModel中共享的数据runApp(ChangeNotifierProvider(create:(context) ViewModel(),child: const FlutterCookbookApp(),));上面的代码中演示了数据共享类的实现和ChangeNotifierProvier类的实现这里需要注意的是ChangeNotifierProvier类的实现通常会把顶层的widget赋值 给该类的child属性也就是把数据共享类和顶层的Widget绑定在一起Flutter中的Widget是以树的形式进行管理顶级widget相当于树根如果把树根和数据共 享类绑定到一起那么整棵树上任意的widget都可以获取共享数据。鉴于这个原理我们通常把根widget和数据共享类绑定到一起比如示例代码中就把整个项目的根 widget和数据共享类绑定到了一起我们可以在项目中的任意Widget里获取共享数据。 经验总结 provider包的内容比较抽象不好理解因此我们对本章回的内容总结如下以方便大家快速入门provider包相关的知识 创建数据共享类并且在数据更新时通知监听器把数据共享类和顶层Widget通过ChangeNotificator关联起来在应用其它地方获取共享数据 获取的方式有三种Provide, Consumer和Selector 下是我在项目中总结的一些经验在此分享给大家 provide包背后的设计思路使用了观察者模式我们可以把数据共享类当作被观察者获取数据的类当作观察者二者通过ChangeNotificator关联在了一起。这是我 自己在使用过程中总结出的经验使用这种类比的方式给大家介绍后是不是更加容易理解呢 provider包在源代码中也是使用了InheritedWidget组件来实现数据共享只是它给开发都提供了好用的接口让开发者以更加方便的方法实现数据共享功能。除了该 包外还有其它的包可以实现数据共享的功能比如rxDart,Redux,bloc阿里的fish-redux等。大家可以到Flutter的包仓库中查看这些包的使用方法不过我还 是推荐provider包毕竟这是官方文档中推荐使用的包而且是flutter社区在维护这给包在后续的维护和更新方面提供了保证。 看官们关于全局共享数据概述相关的内容就介绍到这里欢迎大家在评论区交流与讨论!
http://www.pierceye.com/news/63435/

相关文章:

  • html5网站建设企业论文网络营销策划课程
  • 私人影吧服务器seo优化信
  • 做一套公司网站费用外贸生意如何做
  • 宝安自适应网站建设成都网站设计网站
  • 化工产品东莞网站建设电商运营的基本内容
  • 建设个电商平台网站需要多少钱桂林漓江景点介绍
  • 网站上不去原因北京网站优化指导
  • 绍兴本地网站建设灰色行业推广平台
  • 织梦系统怎么做网站北京app手机网站制作
  • 揭阳市住房和城乡建设局网站公司网站制作税目
  • 用自己电脑建设网站特产网站建设方案
  • 门户网站开发合同国外创意网站设计
  • 柳州网站seowordpress 新闻类网站
  • 营销网站设计方案大型茶叶网站建设
  • 临沂市平邑县建设局网站wordpress改回旧版编辑器
  • 企业网站怎么做产品图片轮播许昌大成建设集团网站
  • 网站被电脑管家拦截做301跳转推广网站排名优化seo教程
  • 网站关键词优化怎么做自己怎么设计口罩
  • 做影视网站怎么样不犯法哈尔滨做网站哪家好强
  • 时尚网站设计教程dw中怎样做网站链接
  • 中石油第六建设公司网站高质量的集团网站建设
  • 临沂做网站哪里好广州做网站一般要多少钱?
  • 社交网站开发难度刷粉网站开发
  • 江苏省住房和城乡建设厅 官方网站哪个软件是网页编辑软件
  • 网站服务器拒绝连接wordpress 域名访问不了
  • 昆明网站制作费用外贸公司起名
  • 网络优化怎么自己做网站wordpress 显示视频播放
  • 国外营销网站江西网站制作的公司哪家好
  • 哈尔滨网站备案手续哈尔滨网站优化技术
  • 网站及建设中页面功能 wordpress.org