- 博客(34)
- 收藏
- 关注
原创 Flutter状态管理
什么是状态管理?状态管理就是当某个状态发生改变的时候,告知使用该状态管理组件随之发生改变,从而达到联动效果。为什么要使用状态管理?方便数据的传递,减少不必要的成叠传递。graph TBA —> CA --> DB --> CB --> D...
2021-01-21 09:43:07
1439
原创 flutter 持久化数据存放的文件目录
flutter 轻量级的数据缓存【数据持久化】持久化数据第三方库shared_preferences获取文件路径 这里我们只是拿来看持久化数据保存到哪里了。path_provider我们保存一个【bool isAgrement】和【data】_incrementCounter() async { SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.setBool('isAgrem
2021-01-06 17:53:06
1264
原创 Flutter 不笨拙的 ShowDailog
flutter 弹框之前我写的弹框都是卸载同一个页面上,或者把弹框抽离出来,但是弹框中的事件只能放在回调函数里面去执行的。不知道小伙伴们是否也是这样。想再我就想把弹框抽离出来,不再点击事件里面执行了,而我等待点击事件完成后判断是否执行。以前的写法showDialogFunction(BuildContext context ,{ Function callBack }){ showCupertinoDialog( context : context, buil
2021-01-06 15:03:10
250
原创 Flutter权限访问
关于flutter APP 中的权限访问。借助于第三方库permission_handler这里查找这个库与怎样添加,在这就不再说了,直接来正文。在我们日常的app中难免会遇到访问本地权限的时候,则我们需要申请是否访问权限。这是我们这个Permission就能帮助处理一些和手机上的权限问题。android权限访问的配置文件在下面文件中设置android>app>src>main>AndroidManifest.mxl在manifest下面添加一下文件。&
2021-01-06 11:01:16
5093
原创 flutter中下载依赖包
在Android Studio的编辑器视图中查看pubspec时,单击右上角的 Packages get,这会将依赖包安装到您的项目。您可以在控制台中看到以下内容:下载安装依赖包用于检索当前 Package 所依赖的其它 Package。如果 pubspec.lock 文件已经存在,则根据该文件中保存的依赖项版本获取对应的依赖项。如有必要,将会创建或更新该文件。 flutter packages get / flutter pub get更新依赖包用于检索当前 Package 所依赖的其它 Pa
2020-08-26 15:07:09
6464
原创 1.2_更新页面数据《状态管理setState》
用setState更新状态后,页面的数据也会随着改变。页面的需要用到数据是可以直接使用的,就比如判断_active 是否为真,_active ? “找打” : “找死”;
2020-07-29 18:10:04
169
原创 flutter_ScreenUtil屏幕适配问题
flutter_ScreenUtil踩坑篇,在使用的时候报错说null的时候调用了,结果发现是包里面的问题,包里面没有这些内容。/* * Created by zhongyuwei on 2020/07/14. * email: 1422041216@qq.com */import 'package:flutter/material.dart';class ScreenUtil { static ScreenUtil instance = new ScreenUtil(); //设
2020-07-14 16:00:48
1468
原创 flutter底部导航栏的坑
flutter 底部导航条页面切换不会执行生命周期函数 之 解决方案。发现问题,当底部导航栏实现方法不同的时候,创建页面的树页不同。我的问题是这样的,当我每次切换底部导航的时候,我切换的时候都不会触发这个页面的initState等各种生命周期函数,就只有第一次初始化的时候才有执行这些生命周期。然后最终发现原来是我的底部导航条使用的不行。发现问题前的代码重点看 IndexedStack ,第一次是这样写的。我将各个页面的代码写在了里面,从而导致页面一初始化的时候才会执行生命周期函数,后面的不会执
2020-07-08 18:07:45
736
原创 实现网页下拉刷新请求数据
滚动条事件// 滚动条事件 -- 实现上啦刷新document.addEventListener("scroll" , function(e){ let _style = getContentStyle(document.getElementsByTagName('body')[0]) let _width = parseInt(_style.width); if( !isPhone(_width) ){ return ; } else { le
2020-07-08 17:53:48
832
原创 《推箱子小游戏》
文件目录:index.htmlsrc>assets>inagesrc>moduleindex.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="widt...
2020-02-02 22:46:05
325
原创 《三》.3 - 默认导入导出
默认导入导出默认导出每个模块,除了允许有多个基本导出之外,还允许有一个默认导出默认导出类似于CommonJS中的module.exports,由于只有一个,因此无需具名具体的语法是export default 默认导出的数据或export {默认导出的数据 as default}由于每个模块仅允许有一个默认导出,因此,每个模块不能出现多个默认导出语句默认导入需要想要导入一个模块...
2020-02-02 10:38:04
1190
原创 《三》.2 - 基本导入导出
基本导入导出模块的引入注意:这一部分非模块化标准目前,浏览器使用以下方式引入一个ES6模块文件<script src="入口文件" type="module">模块的基本导出和导入ES6中的模块导入导出分为两种:基本导入导出默认导入导出基本导出类似于 exports.xxx = xxxx基本导出可以有多个,每个必须有名称基本导出的语法如下:expo...
2020-02-01 14:23:43
254
原创 《三》.1- ES6模块化简介
ES6模块化简介ECMA组织参考了众多社区模块化标准,终于在2015年,随着ES6发布了官方的模块化标准,后成为ES6模块化ES6模块化具有以下的特点使用依赖预声明的方式导入模块依赖延迟声明CommonJS使用的优点:某些时候可以提高效率缺点:无法在一开始确定模块依赖关系(比较模糊)依赖预声明ES6使用的,AMD 和 CMD优点:在一开始可以确定模块依赖关系缺点:某...
2020-02-01 13:36:26
153
原创 《二》.1 - 浏览器端模块化的难题
浏览器端模块化的难题CommonJS的工作原理当使用require(模块路径)导入一个模块时,node会做以下两件事情(不考虑模块缓存):通过模块路径找到本机文件,并读取文件内容将文件中的代码放入到一个函数环境中执行,并将执行后module.exports的值作为require函数的返回结果正是这两个步骤,使得CommonJS在node端可以良好的被支持可以认为,CommonJS是...
2020-01-31 20:02:30
272
原创 JavaScript 模块化发展史
JavaScript 模块化发展史 {ignore}第一阶段在 JavaScript 语言刚刚诞生的时候,它仅仅用于实现页面中的一些小效果那个时候,一个页面所用到的 JS 可能只有区区几百行的代码在这种情况下,语言本身所存在的一些缺陷往往被大家有意的忽略,因为程序的规模实在太小,只要开发人员小心谨慎,往往不会造成什么问题在这个阶段,也不存在专业的前端工程师,由于前端要做的事情实在太少,因...
2020-01-31 20:00:10
388
原创 《二》AMD和CMD
AMD全称是Asynchronous Module Definition,即异步模块加载机制require.js实现了AMD规范在AMD中,导入和导出模块的代码,都必须放置在define函数中define([依赖的模块列表], function(模块名称列表){ //模块内部的代码 return 导出的内容})<script data-main="./a.js"...
2020-01-31 19:58:14
248
原创 《一》CommonJS
CommonJS在nodejs中,由于有且仅有一个入口文件(启动文件),而开发一个应用肯定会涉及到多个文件配合,因此,nodejs对模块化的需求比浏览器端要大的多由于nodejs刚刚发布的时候,前端没有统一的、官方的模块化规范,因此,它选择使用社区提供的CommonJS作为模块化规范在学习CommonJS之前,首先认识两个重要的概念:模块的导出和模块的导入模块的导出要理解模块的...
2020-01-31 19:51:38
247
原创 过滤
filter过滤全局挂载 <div id="app"> <!-- 输出结果为1,000,000 --> {{ monet | toMonet(2) }} </div> <script> // 全局挂载 // item为 | 前一个的数据 // ...
2020-01-26 21:21:55
121
原创 指令
Vue指令一v-pre 跳过该元素和他的子元素的变异过程。显示原始的 {{}} 标签。v-cloak 该指令保持在元素上,直到关联实例结束变异,可与css配合使用,隐藏未编译的 {{}} 标签。就是避免一次次的渲染,则可以使用css影藏起来,任何渲染完成这个指令则会消失v-once 只渲染和组件一次,随后的重新渲染,元素、组件及其所有的子节点江北视为静态内容并跳过。这可以用于优...
2020-01-26 21:20:55
239
原创 创建一个vue实例
创建一个vue实例vue实例中用到了插值表达式```{{ content }}插值表达式的形式```- 什么是插值表达式? - 插值表达式就是在js中写的表达式的值可以通过插值表达式显示出来。我们使用的数据,需要再data中存在数据首先需要存在,才能实现数据绑定(数据更新页面也更新)。data数据中的数组数据通过索引的方式去改变数组,不能渲染视图。通过长度的改变的...
2020-01-26 21:17:13
367
1
原创 ES5数组中的every和some方法
Array.prototype.every() 一假则假,全真则真every() 方法测试数组的所有元素是否都通过了指定函数的测试。Array.prototype.some() 一真则真,全假为假some() 方法测试数组中的某些元素是否通过了指定函数的测试。...
2020-01-13 14:27:51
243
原创 vue中的导航守卫
vue中的导航守卫当我们这个页面有很重要是事情需要完成的时候,有时候会碰到别的按钮,则会消失,对我们的页面和用户体验不佳,则我们需要导航守卫来问候一下是否需要离开此页面。beforeRouteLeave(to,from,next){} 当页面需要离开时问候beforeRouteEnter(to,from,next){} 当页面进去时问候则 to 为去哪 , from为从哪来。next执行。...
2020-01-12 20:47:16
195
原创 1.为什么使用VUE?
Vue为什么要使用Vue?性能更好。什么会影响web应用性能?操作dom影响性能,因为操作Dom是十分昂贵的。JS 和 Dom 是两种东西,每次连接都需要想好性能有句古话说宁可操作100js也不操作dom.操作dom会导致重绘和重排。JS 和 DOM关系:DOM是一个独立于语言的,用于操作XML和HTML文档的程序接口(API)。在浏览器中主要用于与HTM...
2020-01-04 22:42:56
363
原创 webpack搭建工程项目
初始化使用npm init初始化项目构建工程目录dist: 输出目录,该目录保存最终运行的代码。src: 源码目录,该目录保存开发期间编写的所有源码。assets: 嵌入式静态资源,该目录保存需要用到的各种嵌入式静态资源,如图片,css,字体图标的名号。其他独立功能模块目录:为不同的功能模块创建不通的子目录conmmon:公共模块目录,该目录保存被所有独立功能模块使用的模...
2020-01-04 15:10:59
357
原创 反射与代理
js中的反射与代理的应用观察者模式 function obsetver(target){ const proxy = new Proxy(target, { get(target, propertyKey){ return Reflect.get(target, propertyKey) ...
2019-12-31 17:12:15
124
原创 数组去重
大家有什么好的去重方法也可以分享一下方法1 // 升序后去重 const arr = [1,1,2,3,4,5,65,5,6,7,31,23,33,33,21]; let newarr = arr.sort((a,b) => a-b); // 升序 function createWeight(arr){ let r...
2019-12-30 21:51:35
80
原创 圣杯模式
function User(firstName,lastName,age){ this.firstName = firstName; this.lastName = lastName; this.age = age; this.fullName = this.firstName + " " + th...
2019-12-30 21:23:48
94
原创 原型和原型链
原型和原型链所有对象都是通过 new 函数创建所有的函数也是对象函数中可以有属性所有对象都是引用类型原型 prototype所有函数都有一个属性:prototype,称之为函数原型默认情况下:prototype是一个普通的Object对象默认情况下:prototype中有一个属性,constructor,它也是一个对象,它指向构造函数本身。隐式原型 proto所有的对...
2019-12-30 20:32:31
92
原创 ES6数组去重
ES6新增的set和map集合类型,其中set用于存放不重复的数据则可以利用set来实现数组去重 const s = new Set([1,1,2,2,1,3,2,3,4,5]); console.log(s); // Set(5) {1, 2, 3, 4, 5} const arr = [...s]; console.log(arr); //...
2019-12-30 16:42:58
112
原创 原型以及隐式原型
原型函数const func = function(){}函数中的原型上的隐式原型func.prototype.proto对象const obj = {}对象中的隐式原型obj.proto则对象中的隐式原型和函数上的应试原型是相等的。func.prototype.proto === obj.proto ; // true...
2019-12-15 20:35:39
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人