自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 怎么理解VUE,VUE的数据驱动原理是什么,解释MVVM框架

一:Vue是什么,怎么理解VueVue是一个基于MVVM模式数据驱动页面的框架,它将数据绑定在视图上。属于实现单页面应用的技术。.总结起来的几大特点:(1) 简洁 (2) 轻量 (3)快速 (4) 数据驱动 (5) 模块友好 (6) 组件化vue靠数据驱动双向绑定使我们开发页面更简单,开发者不需要手动的去修改dom。Vue通过数据双向绑定是一切变得更简单。它的数据驱动双向绑定,底层是通过Object.defineProperty() 定义的数据 set、get 函数原理实现。2、组件化开发,让项目的

2020-10-06 14:15:57 1083

原创 深拷贝和浅拷贝

深拷贝和浅拷贝的区别1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”为什么要使用深拷贝?我们希望在改变新的数组(对象)的时候,不改变原数组(对象)内存模型JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变量,堆存放复杂对象,池存放常量。基本数据类型与栈内存JS中的基础数据类型,这些值都有固定的大小

2020-10-05 14:31:51 128

原创 jquery的常用API汇总

1.$.contains()方法定义与用法:$.contains() 方法用于判断指定元素内是否包含另一个元素。即判断另一个DOM元素是否是指定DOM元素的后代。语法: $.contains( container, contained );container: Element类型 指定可能包含其他元素的祖辈容器元素contained: Element类型 指定可能被其他元素包含的后代元素。实例:KaTeX parse error: Expected '}', got 'EOF' at end o

2020-09-29 18:57:23 200

原创 JavaScript:操作DOM和BOM

浏览器说明由于JavaScript的出现就是为了能在浏览器中运行,所以,浏览器自然是JavaScript开发者必须要关注的。目前主流的浏览器分这么几种:IE 6~11:国内用得最多的IE浏览器,历来对W3C标准支持差。从IE10开始支持ES6标准;Chrome:Google出品的基于Webkit内核浏览器,内置了非常强悍的JavaScript引擎——V8。由于Chrome一经安装就时刻保持自升级,所以不用管它的版本,最新版早就支持ES6了;Safari:Apple的Mac系统自带的基于Webkit

2020-09-29 18:41:30 101

原创 CSS3

属性选择器E[att]——选择具有att属性的E元素E[att=“val”]——选择具有att属性,且属性值等于val的E元素E[att^=“val”]——匹配具有att属性,且值以val开头的E元素E[att$=“val”]——匹配具有att属性,且值以val结尾的E元素E[att*=“val”]——匹配具有att属性,且值中含有val的E元素不用起类名就可以选择结构伪类选择器E:first-child;——匹配父元素中的第一个子元素EE:last-child;——匹配父元素中最..

2020-09-28 19:22:57 60

原创 web前端简历怎么写?

前端工程师简历怎么写?其实前端工程师并不少,但很多时候合适的前端工程师难找。可能是由于程序员比较内向,前端工程师都没有把自己最厉害的那一面表现出来。今天我们来聊聊前端工程师的简历怎么写,希望能够对大家有帮助。简历的重要性简历的作用其实一直被忽视,即使是有人内推,简历也是必须认真对待的。很多人找朋友内推都是随便在人才网上填了几个表单生成个word文档自己都没看一下就直接扔过来,所以我们经常可以收到一些乱码或者奇奇怪怪的简历。甚至有些人会觉得简历只是走个形式,内推的话通过第一轮没问题。如果收简历的是技术负

2020-09-24 15:40:18 6001

原创 前端处理兼容性的方法

前端处理兼容性的方法BROWSERHACKS是一个网站,它也是一个资料合集,里面就介绍了如何去识别不同浏览器与不同浏览器版本的各种黑科技html5shiv.jshis script is the defacto way to enable use of HTML5 sectioning elements in legacy Internet Explorer. http://paulirish.com/2011/the-history…shim就是帮助你补充老旧浏览器的不足,让代码更顺手传统ie5

2020-09-23 20:41:13 697

原创 jQuery的下载和使用

jQuer的下载和引用jQuery的下载和使用1.下载 ,在浏览器中输入jQuery,找到jQuery的官网· https://jquery.com/ ,找到download 下载适合自己的版本,本次下载的是jQuery Core 1.11.1· jQuery 会显示当前最新的几个版本,所以,想下载之前的版本,需将网页拉到最底下· 找到 past releases 。点击jQuery CDN· 再找到jQuery core 下的see all versions of jQuery cor

2020-09-22 20:15:26 686

原创 JS基础(变量、数据类型)

初始JavaScriptJavascript是什么JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行,现在也可以基于 Node.js 技术进行服务器端编程)JavaScript的作用表单动态校验(密码强度检测,js产生最初的目的)网页特效服务端开发(Node.js)桌面程序(Electron)App(Cordova)控制硬件(物联网Ruff)游戏开发(cocos2d-js)

2020-09-21 20:42:39 99

原创 在vue中设置默认路由

在vue中设置默认的路由,即一进入页面就显示其中一个路由的内容,也就是设定重定向。如下是设置默认路由的代码,即router文件夹下的index.js的内容:import Vue from ‘vue’;import Router from ‘vue-router’;import seller from ‘@/componentsllerller’;import ratings from ‘@/components/ratings/ratings’;import goods from ‘@/comp

2020-09-18 18:50:22 8392 1

原创 前端vue几个实用小代码

前端VUE小技巧通过元素属性查出元素在list中的位置在JS中给list添加属性深复制list阻止页面原生事件获取鼠标位置在JS中拼接style转换时间格式我觉得冷门却很好用的方法(我要我觉得,不要你觉得~)通过元素属性查出元素在list中的位置可以省去循环list的优雅写法this.index = this.list.findIndex(d => d.id === this.id)123在JS中给list添加属性这个可以用在点击过后切换样式之类的this.$se

2020-09-17 19:07:26 242

原创 时间类型的种类

事件类型的种类 一、鼠标事件 click 单机 dblclick 双击 mousevoer 鼠标移入 mouseout 鼠标移出 mousemove 鼠标移动(会不停的触发) mouseenter 鼠标移入 mouseleave 鼠标移出 二,键盘事件 三、HTML事件 1、window事

2020-09-16 20:11:24 533

原创 vue路由的介绍

路由原理传统开发方式 url改变后 立刻发起请求,响应整个页面,渲染整个页面SPA 锚点值改变后 不会发起请求,发起ajax请求,局部改变页面数据页面不跳转 用户体验更好SPAsingle page application(单页应用程序)前端路由锚点值监视ajax获取动态数据核心点是锚点值前端框架 Vue/angular/react都很适合开发单页应用基本使用vue-router其是vue的核心插件1:下载 npm i vue-router -S1.2(重要):安装插件Vue.

2020-09-15 21:01:31 115

原创 初始化一个VUE项目

安装vue-cli脚手架工具npm i -g vue-cli查看vue是否安装成功及版本号vue -V使用vue-cli初始化项目vue init webpack project-name (vue init是vue-cli的命令,webpack是项目使用的模板模型,project-name是项目名称)之后根据自己项目所需进行enter操作vue安装jQuerynpm i jquery -S在module.exports = {} 最后添加plugins: [ new webpack.opt

2020-09-11 18:59:55 287

原创 组件通信

组件注册Vue.component(组建名称, 组件的配置)在组件中使用components的配置项来表示问题:组件命名问题组件命名和html原生标签冲突 Header Footer ----> header footer大驼峰的写法Vue.componennt(‘ZhangJun’,{template: ‘’}) .box{background-color: red}box.style.backgroundColor = ‘red’组件通信

2020-09-09 18:56:05 71

原创 node.js入门

什么是NodeJSJS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs、http等内

2020-09-08 19:18:48 70

原创 js和JQuery的区别

jQuery与JavaScript与ajax三者的区别与联系简单总结:1、JS是一门前端语言。2、Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新。3、jQuery是一个框架,它对JS进行了封装,使其更方便使用。jQuery使得JS与Ajax的使用更方便关系比喻:若把js比作木头,那么jquery就是木板(半成品)jQuery与ajax都是js的一个框架,各有各的功能,若js是父亲的话,jquery与ajax就是两个儿子详细情况:

2020-09-07 19:16:09 222

原创 js对象原型链

JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的所拥有。这也就意味着,我们可以把所有对象实例需要共享的属性和方法直接定义在 prototype 对象上。function Person (name, age) {this.name = namethis.age = age}​console.log(Person.prototype)​Person.prototype.type = ‘human’​Pe

2020-09-04 19:08:18 185

原创 轮播的几种方式

轮播无缝轮播切图轮播淡入淡出无缝轮播<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style>

2020-09-03 20:14:57 1945

原创 javascript简介

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。 发展: 它最初由Netscape的Brendan Eich设计。JavaScript是甲骨文公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAS

2020-09-02 19:15:37 158

原创 sublime

<title>Document</title> <style> #box{ background: blanchedalmond; } div { letter-spacing: 2px; /* 字间距*/ } p{ word-spacing: 10px; /* 单词间距 针对于英文*/ } .h1_1{ ...

2020-09-01 19:10:48 69

原创 html+css五种布局

已知布局元素的高度,写出三栏布局,要求左栏、右栏宽度各为300px,中间自适应。一、浮动布局 浮动布局 <div class="wrap1"> <div class="left"></div> <div class="right"></div> <div class="center"> 浮动布局 </div> </div>

2020-08-31 20:33:54 212

原创 前端学习

选择器元素选择器用标签名作为选择器,选中所有相应的元素类选择器根据class的属性来选择元素,样式定义为:.classname { }ID选择器根据id名来选择元素,样式定义为:#idname{ }属性选择器选择器 描述[attribute] 选取带有指定属性的元素。12456[attribute=value] 选取带有指定属性和值的元素。6[attribute~=value] 选取属性值中包含指定词汇的元素。456[attribute|=value] 选取带有以指定值开头的属性值的

2020-08-28 20:13:21 59

原创 Ajax

ajax局部刷新页面*底层接口$.ajax({}) 只接收一个参数->对象ajax请求的格式:$.ajax({url, //请求的后台接口method, //请求方式post,get,delete,putdata, //发送给后台的数据contentType, //请求头的格式success:function(res){}, //成功的回调函数,res表示成功的回调函数所返回的参数error:function(err){}, //失败的回调函数}) eg: //底层

2020-08-27 19:34:56 78

原创 sass和less是什么?

1.背景介绍。sass和less是什么?1.1.SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。1.2.LESS 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。2.知识剖析ps详细操作见ppt,这是一个大纲。sass有哪些基本用法?2.1.变量——SASS允许使用变量,所有变量以$开头。2.2.计算功能——SASS允许在代码中使用算式2.3. 嵌

2020-08-26 20:29:46 404

原创 变量的解析赋值

一、数组的解构赋值基本用法当为多个变量赋值时,可以使用下面的方法:// ES5let a = 1;let b = 2;let c = 3;// ES6数组解构let [a, b, c] = [1, 2, 3];解构赋值与剩余参数结合使用:// ES6数组解构,与剩余参数结合使用let [a, ...b] = [1, 2, 3, 4];console.log(b); // [2, 3, 4]更为复杂的数组解构赋值:let [foo, [[bar], baz]] = [1, [[

2020-08-25 19:25:29 265

原创 Vuex五大核心属性

Vuex的五个核心概念Vuex是什么?VueX 是一个专门为 Vue.js 应用设计的状态管理架构,统一管理和维护各个vue组件的可变化状态(你可以理解成 vue 组件里的某些 data )。Vue有五个核心概念,state, getters, mutations, actions, modules。本文将对这个五个核心概念进行梳理。总结state => 基本数据getters => 从基本数据派生的数据mutations => 提交更改数据的方法,同步!actions =

2020-08-23 20:20:19 234

原创 vue-cli 3.0更改打包配置

在实际项目开发中,我们一般会直接使用vue、vue-cli来搭建项目。vue框架的宗旨就是让初学者轻松上手,所以,对于打包配置的一些东西,vue的脚手架已经帮我们做好了完美的封装,让我们达到安装既用的效果,也不用担心太多不会做打包配置的问题。在前期使用Vue-CLI2.0搭建项目时,我们可以在build目录下,直接修改webpack配置项。但在Vue-CLI3.0中已经帮我们对webpack配置做了二次封装,在使用3.0版本搭建项目时,我们并不需要去关心原生webpack的配置,只需要查看Vue-CLI

2020-08-21 20:08:16 913

原创 vue中对axios进行基础封装

先给出目录结构http.js文件中对axios进行基础封装在对axios进行封装前,引入了qs包对data进行处理,因为axios默认post请求时content-type为application/json,而后台需要接收的数据格式为application/x-www-form-urlencoded,这个具体是否修改看你们后台接收数据的方式。在http.js文件中代码如下import axios from ‘axios’// qs 是对 post 请求 data 进行处理,不然后台接收不了数据/

2020-08-20 20:24:01 138

原创 axios数据请求封装

axios官方:https://github.com/axios/axiosaxios.get(url).then()axios.post()axios.put()axois.delete()axios({ url:'', headers:{}, data:{}, //post,PUT,DELETE,PATCH params:{} //get})axios.get('',{headers:{}})一,axios数据请求封装env.jsrequest.jsap

2020-08-19 19:18:32 289

原创 重新认识vue-cli

安装最新版本脚手架vue-cli官网:https://cli.vuejs.org/zh/目前版本:v4.5.x安装:npm install -g @vue/cli2.使用vue脚手架创建项目第一种命令行vue create 项目名(字母开头,不要大写) 回车default (自动安装)manually (建议:手动安装)第二种:以图形界面方式创建vue ui 3.vue-cli4.5目录结构public index.html ---入口html页面 静态资源--j.

2020-08-18 19:32:42 495

原创 webpack搭建vue的开发环境

一、前端构建工具1.grunt2.gulp3.webpack(主流,https://webpack.js.org/)4.Fis3(百度)二、webpack是什么webpack是一个现代JavaScript应用程序的静态模块打包器webpack稳定版本:v4.44三、如何用webpack搭建前端环境1.安装node.js(v12.x)注意:如果npm安装一些包由于网速原因,安装慢谢欢一下镜像源改成淘宝镜像:npm config set registry https://registr

2020-08-17 20:29:50 204

原创 天使童装项目的自我感受

最近的工作重心一直在小程序,也开发了1个小程序,对小程序开发的流程及相关技术相对比较熟悉,在开发过程中也总结了一些心得经验、了解一些小程序文档上没有的东西、踩了一些坑。所以想着写篇文章记录下来,并借此将小程序开发的相关知识进行梳理,方便以后参考,也作为自己工作的阶段性总结。同时也希望可以通过文章,多交流,互相学习,共同进步。微信小程序开发,入门算是非常简单,只要看官文文档即可小程序简易教程。如何申请小程序账号,如何开发自己第一个小程序,如何发布,这一系列hello world操作官方文档都有手把手教学。小

2020-08-15 19:37:24 432

原创 做一个小程序的完整流程

一. 引言最近在帮朋友开发一个小程序,都说今年是小程序快速发展的一年,不懂技术的人,大部分零售店面都开始想做一个小程序帮助推广销售。虽然小程序技术门槛没那么高,但自己独立做一个小程序还是需要了解的内容比较多的。帮朋友做的是一个电商小程序,下面结合将做的和收集获取的信息,谈下完整流程,方便下面来指导开发。二. 流程大致流程是这样的:1)、首先你需要注册一个小程序账号,企业版的。2)、由于是电商项目,需要支持支付,需要你开通微信支付认证,大概300元。如果你有微信公众号,可以在上面申请小程序账号,申请

2020-08-14 19:59:32 2785

原创 小程序登陆授权

由于微信小程序的改版导致直接弹出授权的登录方式将逐渐不再支持,受影响的有 wx.getUserInfo 接口,以及 wx.authorize 接口传入 scope=”scope.userInfo” 的情况。所以需要重新设计一套合适的登录授权流程。整体流程如下图:主动登录由于APP中有些页面默认需要登录的,如[个人中心]页面,需要登录获取到用户信息,才能继续操作。这样的页面就需要在每次进入页面(onShow)时判断是否授权了。profile页面onShow () { login(() =&gt

2020-08-13 20:25:17 151 1

原创 封装好api接口

// 详细注册getwxre:(data)=>{return request(‘user/wxapp/register/complex’,‘POST’,data,true)},// 登录login_wx: (code) => {return request(‘user/wxapp/login’,‘POST’, {code,type: 2} ,true)2.在外部封装一个utils文件里的一个auth.js文件以及在template login文件夹下的组件3.在我的页面的

2020-08-12 19:23:41 496

原创 微信小程序性能优化方案-让你的小程序如此丝滑

今天给大家推荐的是小程序中的可优化的技巧和其中的细节部分微信小程序如果想要优化性能,有关键性的两点:​ 1.提高加载性能​ 2.提高渲染性能首先加载性能首先,当用户点击小程序后发生了什么?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MtuYSROl-1597145127591)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200811183201559.p.

2020-08-11 19:27:31 3647

原创 微信小程序开发API封装

var app = getApp();//项目url相通部分,减轻代码量,同时方便项目迁移//GET请求,不需要传参,直接URL调用function getData(url,dosUccess){wx.request({ url:host+url, header:{ "content-type":"application/json";"charset=UTF-8"}, ethod:"GET", success:function(res){ doSuccess(res.data); }

2020-08-10 19:47:03 168

原创 前端接口调用

接口路径格式:公共地址部分/专属域名/前端接口文档中的最好一部分解析富文本 1.下载github官方wxparse目录小程序项目的跟不录下 文件结构: -wxparse/ -wxparse.js(必须存在) -html2json.js(必须存在) -htmlparse.js(必须存在) -showdown.js(必须存在) -wxDiscode.js(必须存在) wxparse.wxml(必须存在) wxParse.wxss(必须存在) --emojis(可选) 2.引入必

2020-08-08 19:37:13 535

原创 组件的生命周期,小程序如何引入第三方ui框架

笔记组件开发的三要素properties //相当于vue中的props接收属性triggerEvent//相当于vue中是$emitslot//和vue是类似的slot1.可以通关slot的自定义组件嵌入wxml结构2.默认一个自定义住家你只能嵌入一个slot,如果嵌入多个slot必须要开启options中的,multipleSlots列如:Component({options:{multipleSlots:true,//在组件定义时的选项中启用多slot支持},......

2020-08-07 16:19:03 419

空空如也

空空如也

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

TA关注的人

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