自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萝卜斯基先生的博客

如果你面对一个选择、一件事,一直犹豫「我做还是不做?」那就尽可能去做吧。

  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

原创 Vue-Router基础

Vue Router官方的路由管理器,让构建单页面应用变得易如反掌。传统方式通过切换url,来切换到不同文件SPA通过监听URL变化,定位到同一文件的不同组件类型Hash模式 (不美观/无法定位锚点)History模式(需要后端配合/IE9不兼容(使用强制刷新处理))安装npm install vue-routerimport VueRouter ...

2019-05-30 14:13:18 125

原创 Vuex

Vuex 状态管理运行机制Vuex 使用npm install vuex --saveimport Vuex from 'vuex'Vue.use(Vuex)const app = new Vue({ el: '#app', // 把 store 对象提供给 “store” 选项,这可以把 store 的实例注入所有的子组件 //需调用 Vue.use(Vuex) s...

2019-05-30 14:12:23 176

原创 Vue组件跨层级获取组件实例

this.$parent 访问父实例this.$children 当前实例的直接子组件。(不保证顺序,不是响应式)this.$parent.$parent.$refs.xxx 跨级访问父组件this.$children.$children.$refs.xxx 跨级访问子组件这种递归的方式 代码繁琐 性能低效ref只能获取当前组件上下文组件 无法跨层级ref 是字符串 被用来给...

2019-05-30 14:09:46 7060

原创 Vue组件跨层级通信

**组件跨层级通信**

2019-05-30 14:07:59 2982

原创 记忆 - Memoization & 优化计算

记忆 - Memoization主要用于加速程序计算的一种优化技术函数可以将先前操作记录到某个对象中,从而避免无谓的重复运算// 采用记忆方式(计算数据越大越有优势)var memoizer = function(memo, formula) { var recur = function(n) { var result = memo[n] if (typeof re...

2019-04-20 16:56:29 184

原创 web离线应用

离线应用确保设备可以上网,访问一定的资源离线检测navigator.onLine //true 表示可以上网//网络从离线变为在线触发window.addEventListener('online',function(){})//网路从在线变为离线触发window.addEventListener('offline',function(){})有一块本地空间用于保存数据,...

2019-04-18 15:29:38 575

原创 编写JavaScript实践

最佳实践编写可维护代码(直观性/可理解性/可适应性/可扩展性/可调试性)代码约定注释(增加可读性)有意义的函数名/变量名变量名应为名词函数名应该以动词开头 如get… ,返回值为布尔 is…避免无用变量名变量类型透明(初始化指定变量类型)松散耦合html/JavaScript 解耦(通过外部引入)css/JavaScript 解耦(通过修改类名 来操作样式)...

2019-04-18 15:28:33 194

原创 数据存储

数据存储Cookie存储限制: 4kb 20个最初是在客户端用于存储会话信息的在性质上是绑定在特定域名下的当设定cookie后,在给创建它的域名发送请求时,都会包含这个cookie所以 cookie越大完成服务器请求时间就越长Set-Cookie: name=value; expires=Mon, 22-Jan-07 07:10:24 GMT; domain=.wrox.co...

2019-04-18 15:26:20 81

原创 setTimeout&setInterval

定时器因为JavaScript是运行于单线程环境中,所以定时器的执行时机是不能保证的除了主JavaScript进程外, 还有一个需要在进程下一次空闲时执行的代码队列,代码会按照执行顺序加入队列setTimeout()工作方式: 特定时间后将代码插入到队列中,如果在这个时间点上,队列中没有其他东西,那么就会被执行,如果有其它任务执行, 则等到其它任务执行完毕才会执行setInte...

2019-04-17 09:00:03 70

原创 高级函数(函数节流&自定义事件)

高级函数安全类型检测typeofinstanceofObject.prototype.toString.call(value) == "[object Array]"toString() 方法只能检测原生对象惰性载入函数函数执行的分支只会加载一次//方法一:function fun(){ if(tureOrFalse){ fun = function(){ ...

2019-04-17 08:53:57 163

原创 Ajax&XMLHttpReuqest&跨域

XMLHttpReuqestAjax核心技术 简称XHR//不考虑兼容性var xhr = new XMLHttpRequest(); //监听响应 每当 readyState(存有 XMLHttpRequest 的状态)改变时,就会触发 onreadystatechange 事件。xhr.onreadystatechange=function(){ if (xhr.rea...

2019-04-16 16:55:21 132

原创 理解对象&原型链实现继承 porortype __proto__

理解对象&继承创建对象的两种方式new Object()字面量 {}对象的属性类型数据属性(包含数据值)数据属性的特性configurabale true 能否delete 或修改数据特性(只能修改一次)enumerable true 能否通过for-in遍历writable true 能否改值value undefined 值访问器属性(不包含...

2019-04-15 17:27:46 425

原创 Function

Function 类型函数声明与函数表达式代码开始执行之前,解析器就通过函数声明提升将函数声明添加到执行环境中函数表达式不存在函数声明提升 因为函数位于初始化语句中fun() //正常执行function fun(){ //这是函数声明}fun2() //报错 'unexpected identifier' 意外标识符var fun2 = function(){ //这...

2019-04-14 09:54:25 317

原创 Array usage

Array类型如何确定某个对象是不是数组 ?value instanceof Array 一个全局作用域下使用Array.isArray() 多个全局作用域下使用(如多个框架)栈方法通过push() + pop()数组可以表现的像栈一样,先进后出push() 方法在数组末尾添加数据pop() 方法从数组末尾移除数据队列方法通过shift() + unshift()...

2019-04-14 09:30:19 102

原创 JavaScript 执行环境

JavaScript 执行环境每个执行环境都关联一个变量对象,环境中定义的所有变量和函数都保存在这个对象中定义了变量或函数有权访问的其它数据在web浏览器中,全局执行函数被认为是window对象全局执行环境(最外围的执行环境)直到应用程序退出才会销毁(关闭网页)每个函数都有自己的执行环境当执行流进入一个函数时,函数的环境会被推入环境栈中函数执行之后,栈将其环境推出,把控制前...

2019-04-14 08:16:13 179

原创 自定义导航栏pop动画(push同理)

参考推荐文章http://www.cocoachina.com/ios/20150717/12600.html首先创建一个导航控制器 并获取控制器的手势识别器->获取视图->在视图上添加新建的拖拽手势->最后实现监听 //获取手势识别器 UIGestureRecognizer *gesture = self.interactivePopGestureRecognizer; //禁用 ge

2016-10-11 17:49:52 455 1

原创 iOS导航栏返回手势

心血来潮 整理了一下关于UINavigationController的一些总结首先来说一些细节问题: 1. 系统默认的返回按钮例如如果是从首页跳转则 如果跳转的页面title过长则为 如果我们想更改文字的话可以在导航栏栈中的上一级中进行如下设置 (例图中 从首页跳转到1控制器 则在首页中进行设置)// 更改文字为返回(如果想去掉文字 则title输入空字符串)self.navigatio

2016-10-10 17:31:50 2619

原创 CALayer&Core Animation核心动画

CALayer和UIView的关系CALayer负责视图中显示的内容和动画 UIView负责监听和响应事件 UIView本身不具备显示的功能,是它内部的层才有显示功能//创建图层 CALayer *layer = [CALayer layer]; layer.backgroundColor = [UIColor redColor].CGColor; layer.frame

2016-08-15 17:04:07 561

原创 drawRect方法&贝塞尔路径&上下文

drawRect方法使用注意事项:drawRect在以下情况下会被调用: 1、如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用。drawRect 掉用是在Controller->loadView, Controller->viewDidLoad 两方法之后掉用的.所以不用担心在 控制器中,这些View的drawRect就开始画了.这样可以在控制器中设置一些值给

2016-08-15 10:59:15 716

原创 触摸事件&传递&手势&故事板小发现

只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”//一根或者多根手指开始触摸view,系统会自动调用view的下面方法- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event//一根或者多根手指在view上移动,系统会自动调用view的下面方法(随着手指的移动,会持续调用该方法)- (vo

2016-08-01 18:29:24 450

原创 关于tableview cell之间分割线

我们都知道 默认显示的tableview 分割线是全部显示的 如果想要不显示 很简单 self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;但是如何只让有数据的显示 并且分割线最左边不留间隙呢 有如下两个方法方法一://使有数据的cell 显示下划线self.tableView.tableFooterView =

2016-07-22 15:15:16 3965

原创 UIApplication&程序启动原理

UIApplication1.单例 UIApplication *app =[UIApplication sharedApplication] 2.UIApplication对象是程序启动后创建的第一个对象 3.主要作用是创建主运行循环(死循环),避免程序一启动就马上关闭利用他可以做一些应用级别的操作 例:// 注册用户的通知UIUserNotificationSettings *sett

2016-07-20 15:53:11 234

原创 沙盒结构&常见的文件存储方式

沙盒结构应用程序包: 包含所有资源文件和可执行文件Documents : 保存应用运行时生成的需要持久化的数据 iTnues同步会备份 tmp: 保存应用运行时所需的临时数据 iTnues不会备份 Library/Caches : 保存应用运行时生成的需要持久化的数据 (缓存) iTnues不会备份 一般存储体积大,不需要备份的非重要数据 Library/Preference : 保存应用的

2016-07-14 17:33:09 463

原创 git的基础知识及简单用法

使用分布式版本控制的好处 1.就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。 2.大部分操作的可以本地执行 -快速高效git命令git help(帮助)例 git help clone 查看clone指令的所有操作文档(按Q退出)//使用先初始化本地仓库 `git init``git status` 可查看文件状态`gi

2016-07-05 11:09:01 365

原创 关于iOS通知的简单认识

通知可以用来发送任意消息,甚至可以包含一个 userInfo 字典。你也可以继承 NSNotification 写一个自己的通知类来自定义行为。通知的独特之处在于,发送者和接收者不需要相互知道对方,所以通知可以被用来在不同的相隔很远的模块之间传递消息。这就意味着这种消息传递是单向的,我们不能回复一个通知有关NSNotification通知类要知道有三个属性@property (readonly, c

2016-06-28 14:01:27 209

转载 对于AssetsLibrary的认识及相册多选

因为不经常用 我也就懒得自己做总结了~推荐地址 http://my.oschina.net/u/1378445/blog/333052?fromerr=gGXNEZ3z简书:http://www.jianshu.com/p/07137bfc1afa推荐代码: https://github.com/peanutgao/MultiPhotoPicker为了查阅方便 复制了一份 我的内心是支持和感谢原

2016-06-23 17:30:24 269

原创 补充 : 选取照片后 单图上传&多图上传

单图上传-(void)upLoadImage:(UIImage *)image completion:(void(^)(id responseObject, NSError *error))completion{ // 图片上传时必要将图片进行压缩,不然会上传失败 NSString *urlString = @"上传地址"; NSData *imageData = UI

2016-06-23 17:07:19 567

原创 有关iOS相册的调用

前段时间对相册研究了一小下,今天闲着就总结总结 给自己加深下印象~//创建照片选择器 UIImagePickerController *pickerVc = [[UIImagePickerController alloc]init];//设置之前根据需要判断对应数据源是否支持 否则会崩溃if([UIImagePickerController isSourceTypeAvailable:UI

2016-06-23 15:34:20 419

原创 关于get请求参数的小问题

一般情况下NSDictionary *dict =@{ @"name" : @"zhangsan", @"password" : @"123" }这是我们通过get请求传入参数字典后自动拼接而成的url http://www.it315.org/counter.jsp?name=zhang

2016-06-23 11:34:01 741

格式化输出(针对编码)

大部分请求网络之后 返回的响应包含中文 都会有编码输出问题 本资源 很好的解决了这个问题 方便日志打印

2016-06-23

解决输出编码问题

解决输出编码问题

2016-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除