自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Flutter初次运行时,Gradle下载问题

问题描述:问题一:运行时长时间出现: Running Gradle task 'assembleDebug'问题二:Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: C:\Users\xx\.gradle\wrapper\dists\gradle-x.x.x-all\9fahxiiecdb76a5g3aw9oi8rv\

2020-08-03 14:49:25 4142

原创 小程序 template 模版使用方法

小程序开发语言虽然只能运行在微信小程序中, 但是它的设计同样遵循了主流前端框架的主要特征——组件化,在小程序中组件化的实现有两种方式: template 模版 和 Component 组件。 这两种方式分别适用于不同的场景。template 模版 主要用于展示,模版中不涉及事件处理, 需要处理的事件逻辑放在调用模版的页面中。 一个 template 模版 只包含 wxml wxss 文件。C...

2019-04-12 13:59:31 1956

原创 小程序获取用户位置并转化成真实描述文字

获取用户位置并转化成真实描述文字设置用户授权获取经纬度信息转化经纬度信息为 `国家 省份 市`**解决问题: **在小程序中获取用户的信息, 使用 wx.getLocation API, 在使用这个 API 之前需要首先设置 用户授权.用户有可能在进入小程序的时候关闭了获取位置的权限, 当需要获取位置的时候要重新判断是否拥有权限。 如果没有权限需要再次提醒用户授权.wx.get...

2019-04-11 16:02:03 1620

原创 git pull 出现的 ERROR: Permission to XXX.git (在本地设置一个或者多个id_rsa 来连接 github 仓库并实现 git push / git pull)

git pull 出现的 ERROR: Permission to XXX.git(在本地设置一个或者多个id_rsa 来连接 github 仓库并实现 git push / git pull)场景一: 本地只需要一个 ssh id_rsa 来连接 GitHub仓库现在有一个自己的 github 仓库 git@github.com:CheyenneLee/webpack-demo.git, 需...

2018-12-06 14:24:10 886 1

原创 vue 解决兄弟组件、跨组件深层次的通信问题

兄弟组件之间的通信同样是在项目中经常会遇到的组件间的通信问题之一, 这种问题的最根本方法就是: 把兄弟组件内部的变量提升到一个中央仓库。借助父级组件链式交互使子组件1 通过 $emit 通知父级, 父级再通过响应 子组件1 的事件去触发子组件2的事件,这样的链式操作,在子组件不多的时候,但是一个不错的解决方法子组件1<template> <div> &l...

2018-11-02 19:43:54 9822 2

原创 解决深层次组件间的通信 $attrs, $listeners

inheritAttrs在谈及深层次组件通信之前先说一下 inheritAttrs, 这个属性在官网中是这样解释的:默认情况下父作用域的不被认作 props 的特性绑定将会 ‘回退’ 且作为普通的 HTML 特性应用在子组件的跟元素上。 当撰写包裹一个目标元素或者另一个组件的组件时,这可能不会总是符合预期行为。 通过设置 inheritAttrs 为 false, 这些默认行为将会被去掉。 ...

2018-11-02 17:00:32 1658 1

原创 v-model 解析 和 自定义 v-model

$emmit 和 $v-onvue 组件之间数据绑定是基于单项绑定的,想要父子组件之间的数据和行为的交互要使用 $emit和 $v-on。<!-- child component --><template> <dev @click='handleClik'> {{value}} </dev>&lt

2018-11-02 14:15:38 7027 2

原创 使用 Array.includes Array.every Array.some  处理多重循环条件

Array.includes一个最常见的循环例子:function demo(fruit) { if(fruit === 'apple' || fruit === 'strawberry'){ console.log('red fruit') }}这是一段没有任何问题的内部含有条件判断的函数,然而如果我们有很多种类的水果需要匹配更多的水果颜色,这是我们如果还按照传统的条件判断,就...

2018-10-20 23:49:52 1123

原创 JS 中实例必须使用 new 关键字生成的写法

this instanceof xx在 JS 中一个实例对象的创建必须使用 new 操作符。但是限于 JS 的语法特征, 实际上 构造函数 同样可以像普通函数那样直接执行,这就使用了 函数作为构造函数的意义,为了避免这种情况的发生,很多 JS 库使用下面的这种方式:function Person () { if(!this instanceof Person){ console.wa...

2018-10-08 21:23:44 2448

原创 一些 JS Function 类型 有趣的知识

一些 JS Function 类型 有趣的知识一些 JS Function 类型 有趣的知识函数声明 VS 函数式表达函数的内部属性 arguments && thisarguments的 callee 属性函数内部的 this函数内部的 caller函数属性与方法lenght 属性prototype 属性apply() 方法 和 call() 方法...

2018-08-23 16:28:12 519

原创 vue 双向数据绑定的终极实现 -- .sync

sync 修饰符在 vue 项目中,父子组件之间的数据通信为:父级组件改变子组件数据:// 父组件<father :status='statusValue'>//子组件...<div>{{status}}</div>... props:['status']子组件改变父组件数据://子组件...<div

2018-08-07 19:35:16 7712

原创 Vue 数组和对象更新后页面 DOM (二)

上篇文章Vue 数组和对象更新后页面 DOM 不更新问题的解决方法。能够解决很多页面数据响应的问题,但是最近在项目中发现在某些情况下上篇文章的解决方式并不是针对任何问题的。假设数据结构是下面的情况:polist:{ ..., list:{ itemlist:[ {a:1}, {a:2} ]...

2018-07-24 23:17:22 754

原创 vue 项目 -- 从 vue-cli 开始

从 vue-cli 开始搭建一个 vue 项目最简单的方式就是使用官方的脚手架工具,他提供了现代前端工作流的构建设置,只需要几分钟时间就可以运行带有 热更新 Eslint 打包 功能的项目。vue-cli 的安装比较简单,基本上跟着官网的步骤就可以安装前提条件: Node.js 版本在 6.x 以上, npm 版本在 3 以上, 并且要已经安装了 gitnpm ins...

2018-07-24 22:34:00 290

原创 vue 项目目录结构

vue 项目目录结构运行 vue-cli 项目之后,让我们来看一下整个项目的结构build项目的打包构建目录,里面的文件是关于整个 vue 项目用什么方式打包,不同的项目环境打包方式怎么区别,什么文件该使用什么 vue-loader 插件, 打包时需要使用哪些 webpack 的插件,插件的配置等等。 vue 项目中的 webpackconfig关于项目配置的目...

2018-07-24 22:32:34 611

原创 js 强制参数

js 强制参数es6 提供了给函数的参数添加默认值的方法:let fn = (a=1,b=2) => {}利用这种方法,可以设置函数的参数为强制参数//设置跑出异常函数const require = () => (throw new Errror('Missing Parameter!'))//使用解析赋值的原理,当a,b没有设置值的情况下,默认赋值为requ...

2018-07-03 23:52:00 703

原创 vue 项目中使用 Loading 组件

当在vue项目中请求后台接口时,常常会使用 loding 过渡数据的加载时间。 如果 loading 作为一个全局的加载状态,应该写在项目中的App.vue中<template> <div id="app"> <router-view></router-view> <loading v-if='LO...

2018-06-19 19:53:18 84938 7

原创 Vue 数组和对象更新后页面 DOM 不更新问题的解决方法。

Vue 数组和对象更新后页面 DOM 不更新问题的解决方法。* Vue 监听不到深层次的对象属性或者数组值的改变。*数组更改检测注意事项由于JavaScript的限制,Vue不能检测以下变动的数组:当使用索引直接改变或者设置一个项时,例如:vm.items[index] = newvalue当修改数组的长度时,例如:vm.items.lenght = newValuel...

2018-06-16 20:11:14 18146

原创 Ubuntu 16.04 下安装 MySQL 并实现远程连接 的过程

Ubuntu 16.04 下安装 MySQL 并实现远程连接 的过程第一步:安装MySQL服务端、客户端、开发接口sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev安装完毕后,通过下面的命令测试是否安装成功sudo netstat -...

2018-04-24 10:34:22 6166 2

原创 .gitignore 文件失效

在项目开发中过程中,有时候想要把某些目录添加到.gitignore规则中,但是发现添加后发现并未生效,忽略的文件并未生效。原因是.gitignore 文件只能忽略那些原来没有被track(跟踪/记录)的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore文件是没有效果的。解决方法就是先把本地缓存删除(改变成未track状态),然后在提交。git rm -r --cach...

2018-04-12 10:36:33 258

原创 Ubuntu上安装 MongoDB

Ubuntu上安装 MongoDB步骤一:导入包管理系统使用的公钥Ubuntu包管理工具(dpkg和apt)通过要求分销商使用GPG密钥来签署包,确保包的一致性和真实性。发布以下命令来导入MongoDB公共GPG密钥。sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059E...

2018-04-10 17:38:46 327

原创 部署 Node.js 项目 (Ubuntu 14.04.5 LTS)

部署 Node.js 项目 (Ubuntu 14.04.5 LTS)准备工作使用 AWS(亚马逊,一年免费期限、建议学习使用) 或者 阿里云 ECS本地已经安装用于连接实例的工具,如 PUTTY、Xshell基本工作使用 AWS 或者 ECS 安装 Node.js 并部署项目的操作可以分为以下步骤:连接实例。部署Node.js 环境。部署测试项目。...

2018-04-10 17:28:40 879

原创 导入外部文字

导入外部文字@font-face{ font-family:otherFont; src:('./otherfont.ttf')}a{ font-family:otherFont}

2018-03-19 09:12:53 560

原创 小程序(5 home页面完善 数据绑定、列表渲染、模板分离)

数据绑定小程序中的数据均来自于对应Page对的data。绑定会用Mustache 语法(双大括号)将变量包起来,可以用于:内容 <view>{{message}}</view>page({ data:{ message:'hello world' } }) 组件属性 (需要在双引号之内使用)<view id="item-{{id}}"></vie

2017-12-27 17:04:29 1874

原创 小程序( rpx、px、rem )

rpx 是微信小程序解决自适应屏幕尺寸的尺寸单位。微信小程序规定屏幕的宽度为750rpx。无论是在iPhone6上面还是其他机型上面都是750rpx的屏幕宽度,拿iPhone6来讲,屏幕宽度为375px,把它分为750rpx后, 1rpx = 0.5px。微信小程序同时也支持rem尺寸单位, rem 规定屏幕的宽度为20rem, 所以 1rem = (750/20)rpx = 37.5 rpx

2017-12-27 11:50:52 28440 2

原创 小程序(4 编写home静态页面 swiper组件、产品item)

目标:导航栏样式及文字更改添加 swiper 组件添加产品item组件完成效果导航栏样式及文字更改在小程序中有两处配置导航栏的文件,分别是app.json 和 pages/xx/xx.json两者都是用来设置页面的状态栏,导航栏,标题,窗口背景色,区别是前者是对全局进行配置,后者只是针对当前的页面进行配置。 在 pages/xx/xx.json 中多了一个 disableScroll 属性

2017-12-27 10:39:47 1998

原创 微信小程序 (3 tabBar及 页面跳转)

上篇文章完成了 home 页面的构建和跳转,这篇文章将会完成底部tabBar 以及点击每个 tabBar 跳转到对应的页面。完成如图:1、 新增 cart discounts my 页面按照 home 页面的构建,快速新建上面的四个页面,并查看 app.json 中是否存在所建页面的配置信息。2、 配置 home cart discounts my tabBar 信息如果一个小程序是一个多应用(客

2017-12-19 11:23:00 37544 6

原创 微信小程序(2 搭建home页面)

在上篇对小程序的 QuickStart 项目分析之后,了解了整个项目的整体结构,另外在 pages/index 目录中看到了小程序的事件绑定和页面跳转。现在利用现有的知识,新建一个pages/home 目录。1、新建 home 目录在小程序中,每一个完整的页面有包含.wxml .js .json .wxss 四个文件,在开发者工具中,有一种快速创建这四个文件的方法。 pages目录上右键 –>

2017-12-15 14:57:42 2438

原创 Multer 文件上传

express 默认并不会处理HTTP请求体中的数据,对于普通请求体(JSON、二进制、字符串)数据,可以使用 body-parse 中间件。而文件上传(multeipart/form-data请求),可以基于请求流处理,也可以使用 formidable 模板或者 Multer 中间件。multer中间件Multer 是express官方推出的,用于 Node.js multipart/form-

2017-12-15 10:58:39 3915

原创 MySQL实现分页查询

limit 基本实现方式一般情况下,客户端通过传递 pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用 MySQL自带的 limit 来解决这个问题: 收到客户端{pageNo:1,pagesize:10} select * from table limit (pageNo-1)*pageSize, pageSize;

2017-12-14 14:51:54 105420 13

原创 微信小程序(1 初识)

前期准备跟随 官网简易教程 ①申请小程序账号 ②获取AppID ③安装开发者工具 ④ 第一个小程序 (跟随简易教程 就实现了第一个小程序)项目分析微信开发者工具像平时用到的IDE软件相似,讲一下平常用得到的功能。 模拟器 编辑器 调试器 模拟器 打开这个功能我们能看到模拟小程序的现实界面。 编辑器 打开编辑器,右侧将会显示文件结构和代码,用于开发时的代码编辑。调试器 用于代码的调试,打开后

2017-12-13 16:46:45 717

原创 电商全栈微信小程序+express+mysql+vue技术全面覆盖(一 前言)

前言工作的原因,需要完成一个电商微信小程序的项目,需要完成小程序页面、后台接口、数据库、管理商品的后台页面,项目部署等一系列任务,这些任务所涉及的技术栈也同样是当下作为一个前端工程师需要掌握的。项目当然会涉及到当下许多热门的技术。toC端是微信小程序,后台选择 node.js 的 express 框架,当然也会涉及到 数据库方面,我选择了 mysql, npm有一个 mysql 包解决了 mysq

2017-12-08 17:44:39 2052

原创 webpack v.3.x 入门(一) — 安装

webpack v.3.x 入门(一) — 安装环境要求webpack 依赖于 node.js 环境,在使用 webpack 之前,下载安装 node.js 。安装 webpack全局安装全局安装后可以供命令行在全局环境下,直接运行 webpack 命令。在全局安装时,将会使项目中的 webpack 锁定到指定的版本,在使用不同版本的项目中,可能会导致构建失败。 npm install w

2017-09-28 14:56:52 1230

空空如也

空空如也

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

TA关注的人

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