09 2019 档案
摘要:本文推荐2种方法。 1. css tip:只兼容chrome内核的浏览器。ff不支持。 延展 word-wrap text-overflow white-space box-orient 这个属性还没有被浏览器支持。需要使用各自浏览器的私有属性。 line-clamp 只有chrome内核的浏览器支
阅读全文
摘要:1、水平居中:给div设置一个宽度,然后添加margin:0 auto属性 div{ width:200px; margin:0 auto; } 2、水平垂直居中一 确定容器的宽高 宽500 高 300 的层 设置层的外边距 div { position: relative; /* 相对定位或绝对定
阅读全文
摘要:ajax的全称:Asynchronous Javascript And XML。 异步传输+js+xml。 所谓异步,在这里简单地解释就是:向服务器发送请求的时候,我们不必等待结果,而是可以同时做其他的事情,等到有了结果它自己会根据设定进行后续操作,与此同时,页面是不会发生整页刷新的,提高了用户体验
阅读全文
摘要:闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。 闭包的特性: 1.函数内再嵌套函数 2.内部函数可以引用外层的参数和变量3.参数和变量不会被垃圾回收
阅读全文
摘要:javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON;但写法有很多种,也能混合使用。 1、对象字面量的方式 person={ firstname:"Mark", lastname:"Yun", age:25, eyecolor:"black" }; 2、用
阅读全文
摘要:1、构造继承2、原型继承3、实例继承4、拷贝继承 原型prototype机制或apply和call方法去实现较简单,建议使用构造函数与原型混合方式。 function Parent(){ this.name = 'wang'; } function Child(){ this.age = 28; }
阅读全文
摘要:方法一: var arr = [1,2,3,4,5,6,7,8,9,10]; function randSort1(arr){ for(var i = 0,len = arr.length;i < len; i++ ){ var rand = parseInt(Math.random()*len);
阅读全文
摘要:每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时, 如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype, 于是就这样一直找下去,也就是我们平时所说的原型链的概念。 关系:ins
阅读全文
摘要:Undefined、Null、Boolean、Number、String、ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的数据类型 )
阅读全文
摘要:cart_page.dart 清空原来写的持久化的代码; 添加对应的引用,stless生成一个静态的类。建议始终静态的类,防止重复渲染 纠正个错误,上图的CartPage单词拼错了,这里改过来防止后面,运行app的时候报错 build内我们使用scaffold脚手架 创建Future方法获取购物车持
阅读全文
摘要:根据json数据生成模型类 https://javiercbk.github.io/json_to_dart/ model文件夹下新建类cartInfo.dart 类名叫做CartInfoModel。 provide/cart.dart 这样变量在add的时候,直接就可以用上面定义的map的变量了
阅读全文
摘要:新加provide的cart.dart页面 引入三个文件。开始写provide类。provide需要用with 进行混入 从prefs里面获取到数据,判断有没有数据,如果有数据就返转正List<Map> 判断是否有重复的记录,如果有重复记录就数量+1,如果数据不存在就加入到tempList数组中,最
阅读全文
摘要:当app关掉了。再进去的时候 ,购物车的内容还是存在。 sqflite提供这个来操作SQLite数据库 flutter提供三种持久化的工具 今天要学的就是 shared_preferences 还有一种持久化就是:file,用流的形式去读取还是有些慢 安装shared_preferences 插件地
阅读全文
摘要:一直悬浮在最下面的 Stack层叠组件。里面用Row 可以横向布局 开始 stack如果想定位就要用position去定位。 修改return返回值的这个地方 大R刷新查看效果,可以看到固定的在左下角的测试的字样。一直固定在底部 做底部的固定栏widget 新建页面:在文件夹details_page
阅读全文
摘要:增加切换的效果,我们主要是修改这个地方 这样我们的评论的内容就显示出来了 最终代码 details_web.dart .
阅读全文
摘要:详情里面是hemlt和图片组成的,但是flutter是不支持html的所以需要其他插件 flutter webview plugin:这个不太好用 flutter_html:用这个插件 先解决之前一个bug 在加载详情页面的时候,控制台输出报错了 需要用的到异步的处理 provide/details
阅读全文
摘要:主要实现详情和评论的tab provide定义变量 自己做一个tab然后用provide去控制 定义两个变量来判断是左侧选中了还是右侧选中了。并定义一个方法来接受参数,修改是左侧还是右侧选中的状态值 新建组件页面 details_page/details_tabbar.dart 然后定义方法_myT
阅读全文
摘要:pages/details_page/details_expain.dart 详情页面引用组件 效果展示: 最终代码: details_page.dart .
阅读全文
摘要:把详细页的图片、标题、编号和价格形成一个单独的widget去引用 详情页的顶部单独封装个插件 在pages下面新建detials_page的文件件并在里面新建页面details_top_area.dart文件 添加引用,然后声明一个静态的类 返回顶部图片的方法 商品名称方法: 商品编号方法 开始写B
阅读全文
摘要:首页轮播点击到详细页 修改我们轮播这里的代码:SwiperDiy这个类这里的代码 展示效果: 商品推荐的跳转 _item方法增加了必须的参数context对象 _recommendList 点击也可以进行跳转 楼层的点击效果 方法:_goodsItem 发现上面的都没有传入context的值,所以我
阅读全文
摘要:详细分成六大部分拆分开 body里面用FutureBuilder异步加载。 FutureBuilder里面的furure属性这里用一个方法,必须返回的也是future 把我们的方法修改为返回的类型为Future。我们直接返回的是一个字符串。因为我们里面使用了provide,所以其实这里我们随便返回个
阅读全文
摘要:建立数据模型层,我们的业务逻辑分开,然后进行后台数据的调试 生成model类 json数据: json生成dart类的网址: https://javiercbk.github.io/json_to_dart/ 在models文件夹下面新建details.dart类,并把我们生成的类复制过来。 生成的
阅读全文
摘要:路由注册到顶层,使每个页面都可以使用,注册到顶层就需要在main.dart中 main.dart注册路由 注入 onGenerateRoute是MaterialApp自带的路由配置项, 首页跳转到详细页 _wrapList火爆专区的商品,点击进行跳转 那么这个/detail是在哪里定义的呢?看下图,
阅读全文
摘要:handler只是单个路由的配置,这节课我们要学习路由的整体配置 整体配置 新建routers.dart文件来做整体配置 detailsHandler就是我们在router_handler里面定义的detailsHandler 当路由不存在的时候,给用户一个反馈。router.notFoundHan
阅读全文
摘要:在main.dart中初始化Fluro 编写handler 在lib下新建routers文件夹,表示里面要很多路由相关的文件 我们声明一个Handler,在里面handlerFunc固定的两个参数 重点理解:handlerFunc 那我们要获取到goodsId 下面是我们之前定义好的DetailsP
阅读全文
摘要:https://github.com/theyakka/fluro pages/details_page.dart新建页面 使用路由 先添加路由插件的引用 如果网络上下载不下来,可以采用这种形式去下载,使用git的地址 遇到问题,无法更新下来 fluro的引用 解决方法: 重启电脑。删除D:\Flu
阅读全文
摘要:https://github.com/PonnamKarthik/FlutterToast category_page.dart页面添加引用 小类跳转到全部,没有数据的问题 本节课代码 provide/child_category.dart category_page.dart主要代码 .
阅读全文
摘要:右侧列表上拉加载配合类别的切换 上拉加载需要一个page参数,当点击大类或者小类的时候,这个page就要变成1 provide内定义参数 首先我们需要定义一个page的变量 下图是我们之前在首页的时候做的上拉加载代码,之前属性noMoreText我们没有设置值,这里我也需要把这个属性加入到provi
阅读全文
摘要:当高粱酒的子类没有数据返回的时候就会报错。 解决接口空数据报错的问题 没有数据的时候,给用户一个友好的提示, 我们没有数据的时候还要告诉用户,提示一下他没有数据,在我们的右侧列表的build方法内去判断 友好提示展示效果: 子类的id状态化 状态管理里面,定义小类的变量,并根据传入的id根性赋值。这
阅读全文
摘要:主要实现点击小类下面的列表跟着切换 获取右侧下面的列表信息,即要传递大类的id也要传递小类的,所以需要把左侧的大类的id也要Provide化 可以看下网站上的接口说明: https://jspang.com/posts/2019/03/01/flutter-shop.html#%E5%90%8E%E
阅读全文