- 博客(32)
- 收藏
- 关注
原创 git 一个分支覆盖另一个分支
现在有两个分支,master和develop1.我想将master分支上的代码完全覆盖develop分支,首先切换到develop分支git checkout develop2.然后直接设置代码给远程的master分支上的代码git reset --hard origin/master3.执行上面的命令后develop分支上的代码就完全被master分支上的代码覆盖了,注意只是本地分支,这时候还需要将本地分支强行推到远程分支。git push origindevelop -f...
2021-05-23 10:18:39 871
转载 前端基础知识概述 -- 移动端开发的屏幕、图像、字体与布局的兼容适配
https://github.com/chokcoco/cnblogsArticle/issues/25
2021-02-24 15:40:35 108
原创 每天一点小进步--css属性object-fit
ul li img { width: 150px; height: 100px; object-fit: cover;}利用object-fit: cover,使图片内容在保持其宽高比的同时填充元素的整个内容框。
2021-02-24 15:32:28 116
原创 每天一点小进步--npm包的创建,发布
1.首先注册一个npm账号2.创建目录,通过npm init命令生成package.json文件name 发布到npm之后对应的包名称 npm-test version 目前发布包的版本号 description描述 entry point 入口文件 默认index.js test command 测试命令 git repository 仓库地址 keyword 关键字 帮助别人更快的找到你的包 author 作者3.创建index.js文件// index.jse...
2020-12-22 12:57:05 322
原创 每天一点小进步--css的scoped和深度选择器
1.大家都知道<style>具有scoped属性时,样式只会生效于当前组件。具体的实现原理呢?<style scoped> .bg { background-color: red; }</style>浏览器编译后<style> .bg[data-v-f3f3eg9] { background-color: red; }</style>其实,就是给样式加了一个属性,然后实现了私有作用域。但是当你
2020-12-21 10:02:17 137
原创 每天一点小进步--前端使用代理解决跨域问题
proxy: { // 用‘/api’开头,代理所有请求到目标服务器 '/api': { target: 'http://localhost:9000', // 后台服务地址及端口 ws: true, // 是否启用websockets changeOrigin: true, // 是否启用跨域 pathRewrite: { // '^/api': '' } }}最.
2020-12-21 09:51:51 90
原创 每天一点小进步--使用 :not() 来精简css代码
// 不使用:not().nav li { border-right: 1px solid #666;}.nav li:last-child { border-right: none;}// 使用:not().nav li:not(:last-child) { border-right: 1px solid #666;}// 或者使用兄弟选择符~.nav li:first-child ~ li { border-left: 1px solid #666;}..
2020-12-18 13:22:42 82
原创 每天一点小进步--css中的counter-increment和counter-reset属性
1.定义counter-reset 可以创建一个或者多个计数器counter-increment 用来递增计数器,可以是多个2.用法<body><div></div><div></div><div></div><div></div><div></div><div></div></body><sty..
2020-12-10 12:57:07 254
原创 每天一点小进步--css中的变量
1.原生css定义 --* 使用var(--*) *为变量名称:root { --bg: #ffffff}.bg { background-color: var(--bg)}2.less定义@* 使用@*@bg: #ffffff;.bg { background-color: @bg;}3.sass定义$* 使用$*$bg: #ffffff;.bg { background-color: $bg;}...
2020-12-10 12:34:07 118
原创 每天一点小进步--css中的mixin
1.mixin什么css中的mixin和vue中的mixin有些类似,都能够减少重复代码,提高代码利用率。 简单说,就是定义一段共用代码,然后在其他地方引用它。2.具体用法@mixin font-title($font-size,$font-weight) { font-size: $font-size; font-weight: $font-weight; color: #ffffff; text-align: center; white-space: nowrap;
2020-12-10 09:19:30 197
原创 es6随手记--Class的基本语法
1.es6中的构造方法//es6中的类 实际上是构造函数的另一种写法class aa { doStuff() { console.log("aaa") }}var b = new aa()b.doStuff() // "aaa"/实际上类上的所有方法也都定义到了这个类的prototype属性上// 上面等同于aa.prototy...
2019-07-31 13:38:45 158
原创 es6随手记---async
1.async函数是什么? 简单说就是Generaotr函数的语法糖。什么是语法糖呢? 指计算机语言中添加的某种语法,对语言本身没有影响,但是跟方便程序员使用。和Generaotr函数比较,改进:内置执行器,更好的语义,更广的实用性,返回值是Promise.2.基本用法async函数返回一个Promise对象,可以使用then方法添加回掉函数。当函数执行时,遇到aw...
2019-07-30 14:35:27 123
原创 es6随手记---Generator
generator是一个普通函数,有两个特征。一是,funtion关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式。generator英语中的意思是生成器,yield英语中的意思是产出function* aa() { yield 'b'}1.yield表达式yield表达式与return语句类似,都能返回紧跟在语句之后的表达式的值。区别在于yield表...
2019-07-29 17:01:02 219
原创 原生axios 的form表单提交
axios默认发送数据时,数据格式是Request Payload,而并非我们常用的Form Data格式1.第一种方法,创建表单对象,数据放到表单对象里。let config = { //formData 提交请求头有两种 multipart/form-data 和 application/x-www-form-urlencoded // multipart/fo...
2019-06-25 16:45:16 8709
原创 vue学习之路-组件(高级篇)-slot
组件定义出来实际上就是一个html标签,通过props为这个标签定义属性,通过自定义事件为这个标签添加change等等事件,插槽(slot)就是把这个html标签内的内容显示出来(可以是html,也可以是别的组件)。如果没有插槽这个html标签内的内容会被抛弃。1.插槽内容有一个写好的组件<navigation-link>,在它的模板中这样写<a v-bi...
2019-03-21 13:37:30 462
原创 vue学习之路-组件(高级篇)-prop
1.prop的大小写HTML中的特姓名是不敏感的,所以浏览器会把所有大写字符解释为小写字符,所以在DOM中,驼峰命名法的prop名需要用等价的短横线分隔命名。 如果是使用字符串模板,这个限制就不存在。Vue.component('blog-post', { // 在 JavaScript 中是 camelCase 的 props: ['postTitle'], templa...
2019-03-21 13:36:48 529
原创 vue学习之路-----组件(基础篇)
组件是可复用的vue实例,且带有一个名字。每用一次组件,就会有一个它的实例被创建。所以,一个组件的data选项必须是一个函数,组件之间就有各自独立的data,互不影响。1.组件的注册组件的注册类型:全局注册和局部注册。全局注册的组件可以用在所有组件的模板中,全局注册的行为必须在根 Vue 实例 (通过new Vue) 创建之前发生。vue.component('my-compo...
2019-03-21 13:36:36 99
原创 es6随手记---数组篇
1. ...有两种情况1.rest参数 形式为 ...变量名 另外rest参数只能作为参数的最后一个出现,不然报错。function a(a,...b) { console.log(a) // 1 console.log(b) // [2,3,4,5,6]}a(1,2,3,4,5,6)2.扩展运算符... ...
2019-03-21 13:36:16 112
原创 es6随手记---对象篇
1.属性的简洁表示法const b=1const a={b} // a={b:1}function f(x,y) {return {x,y}}f(1,2) //{x: 1,y:2}a() {}//等同于a: function() {}2.属性名可以的是表达式,但是要用[]括起来,然后属性名表达式不能和简洁表示法一起用3.对象的扩展运算符... ...
2019-03-21 13:36:02 136
原创 es6随手记---Set和Map数据结构
1.Set 新的数据结构 不会计入重复值,所以可以用来数组去重 可以加入数组(或者具有 iterable 接口的其他数据结构),size属性确定长度const s = new Set([1,2,4,4])[...s] //[1,2,4]set内部的数字判断,认为NaN是等于自己本身的相关方法add(value) 添加值,然后返回set结构本身d...
2019-03-21 13:34:50 118
原创 es6随手记---Promise对象
1.Promise是异步编程的解决方案,比传统的回调函数和事件要合理强大。简单的讲,Promise就是一个容器,包含了未来某时刻才会结束的事件。有两个特点(1).状态不受外界影响。Promise对象有三种状态pending(进行中),fulfilled(已成功),rejected(已失败)。只有异步操作的结果能决定是那种状态,而且状态一旦确定就没法在改变。(2).状态改变后不会再次...
2019-03-21 13:34:29 101
原创 微信开发踩坑
1.关闭微信浏览器页面两种 第一种需要引入微信的js-sdkwx.closeWindow()第二种不需要引入其他东西,借用微信提供的WeixinJSBridge对象weixinJSBridge.call('closeWindow') ...
2019-01-10 16:52:42 208
原创 vue管理后台项目踩坑之路
1.git-.gitignore某些文件加入到.gitignore,但是还能继续提交,原因是你之前已经提交过了,git中有缓存,这时候就要先清掉缓存。git清除本地缓存命令git rm -r --cached .git add .git commit -m 'update .gitignore'2.vue文件中scss格式问题<style rel="styles...
2019-01-10 14:06:59 751
转载 import和require的区别
node编程中最重要的思想就是模块化,import和require都是被模块化所使用。遵循规范require 是 AMD规范引入方式 import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法调用时间require是运行时调用,所以require理论上可以运用在代码的任何地方 import是编译时调用,所以必须放在文件开头本质require是赋值过程,其...
2018-08-06 14:43:01 130
转载 Flex 布局
网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地...
2018-08-06 13:48:21 79
原创 vw,vh,rem,em,ch,vmax,vmin 单位详解
1. vw 相对于视口的宽度。视口被均分为100单位的vw 1vw = (视口宽度)/100 h1{ font-size: 8vw}如果视口的宽度是200px,那么上述代码中h1元素的字号将为16px,即(8x200)/100. 2.vh 与vw一样,只不过把宽变成了高 3.vmax 相对于视口的宽度或高度中较大的那个。其中最大的那个被均分为...
2018-08-06 13:42:22 922
原创 vue学习之路-----class与style绑定
通过class与style绑定可以实现,标签样式的切换,实现页面样式动态变化。 1.class绑定 1.对象语法<div :class='{active: 'isActive'}'></div>这里通过isActive控制active这个class的存在与否。<div :class='classObject'></div&g...
2018-07-31 10:14:46 135
原创 vue学习之路-----计算属性computed,监听器wtach,$watch()命令
双大括号的模板内可以放入表达式,但是但复杂到一定程度时,就需要使用计算属性。这里声明了一个计算属性reversedMessage,当message发生改变时,依赖message的reversedMessage也会发生改变,计算属性的getter函数是没有副作用的。 计算属性默认只有getter,不过也可以添加setter。这里的fullName并没有定义,是通过firstN...
2018-07-31 09:28:18 894
原创 前端项目开发的各种规范
1.html部分 1. class使用功能或内容来命名,全部使用小写,多个单词时使用中划线 - 分隔,我的习惯是使用 _ 分隔。 2. 使用jq时,如果有使用js来操纵dom,推荐使用id来控制,减少无样式信息的class 3. 引号优先使用双引号,当出现引号嵌套时在使用单引号 2.css部分 1. css也需要添加注释。大模块之间引用三行空行 ...
2018-07-30 11:44:29 342
原创 vue全局变量的几种实现方式
1.设置一个全局变量专用的js。Global.js然后在要用的组件里引用该文件。 2.这种方式也要有一个上面的Global.js,使用方式有所区别。将Global.js引入到程序的入口文件main.js里,如下需要使用全局变量时,就不需要引入Global.js。直接使用this就可以了,如下 3.使用vuexvuex可以集中式存储管理应用...
2018-07-11 14:48:39 6697
原创 git如何删除分支
首先进入git命令行。避免误删,先看一下有哪些分支:git branch -a 要删除服务器远端的分支,则执行如下所示的命令:git push origin –delete 分支名 如果是要删除本地已经合并了的分支,则执行:git branch –d 分支名 删除本地未合并的分支: git branch –D 分支名 ...
2018-07-11 13:55:47 36848
原创 js判断一个对象{}是否为空对象
var a = {};if (JSON.stringify(a) === "{}") { return true;}如果对象为空,则返回结果:true。 方法2:判断对象属性是否存在var a = { id: 1};if (a.id) { return false;} else {return true}如果对象为空,结果:true ...
2018-07-10 16:13:56 170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人