自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (6)
  • 收藏
  • 关注

原创 图片懒加载

https://hateonion.me/posts/19jan30/图片懒加载

2020-11-25 07:46:11 224 1

原创 fastmock数据

1.不同id不同类型/列表{ "code":200, "msg":"ok", "data|20":[{ "id|+1":1, "category_name":"@ctitle(4)", "list|10":[{ "good_name":"@ctitle()", "good_price|100-300":1, "good_src":"@image('50x50','@color')" }] }]}2.内含分页请求参数

2020-11-24 21:46:53 1213

原创 axios.get(‘http://127.0.0.1:3000/news‘)

<script>import HelloWorld from './components/HelloWorld.vue'import axios from 'axios'export default { name: 'App', components: { HelloWorld }, mounted () { console.log('hi'); axios.get('http://127.0.0.1:3000/news') //不同于情况下

2020-11-24 21:43:02 621

原创 注册/登录/后台管理系统/子路由/babel/upload

const express = require('express') //index.js后端const app = express()const port = 3000const bodyParser = require('body-parser');app.use(bodyParser.json())const cors = require('cors');app.use(cors())const mysql = requ

2020-11-20 21:38:14 338

原创 vue购物车/vuex/vue-router

//store.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export const store = new Vuex.Store({ strict: true, state: { cart: JSON.parse(localStorage.getItem('cart')) || [] }, getters:{ totalMoney(state){

2020-11-20 21:29:19 195

原创 element-ui/pages分页/vue-swiper/axios请求头设置/nodejs/mockjs

App.vue<template> <div id="app"> <el-container> <div style="margin:20px 0"> <swiper ref="mySwiper" :options="swiperOptions" style="height:100px;overflow: hidden;"> <swiper-slide v-for="item in

2020-11-20 21:25:18 278

原创 todolist-localstorage封装

<body> <div id="box"> <div class="text"> <input type="text" placeholder="回车即可添加内容" v-model="newOne.title" @keyup.enter="add"> </div> <p> 任务总数:{{arr.length}}个,还有{{noChec

2020-11-20 21:14:02 224

原创 拖拽效果js

<!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> * { m

2020-11-19 20:54:29 132 2

原创 放大镜 js

<!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> * { p

2020-11-19 20:52:53 104

原创 layui注册登录-nodejs一条龙服务

//app.jsconst express = require('express')const bodyparse = require('body-parser');const app = express()const port = 3000app.use(express.static('public'))app.use(bodyparse.urlencoded({ extended: false }))let db = [ { username: 'admin', passwor

2020-11-19 20:49:33 399 1

原创 倒计时封装

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>js时分秒毫秒倒计时</title></head><body> <div class="active_time" id="active_time"> <div id="h"></div>

2020-11-19 20:46:13 170

原创 新浪云-swiper 响应式页面

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>新浪云官网</title> <link href="https://cdn.bootcdn.net/aja

2020-11-19 20:42:34 583

原创 jquery实现购物车

-<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>8-2 </title> <link rel="stylesheet" type="text/css" href="css/reset.css" /> <link rel="stylesheet" type="text/css" href="css/cart.cs

2020-11-19 20:38:44 365

原创 for循环生成10个li

<!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> * { p

2020-11-19 20:33:46 1777

原创 cookie封装

function createCookie(name, value, days) { var now = new Date() now.setDate(now.getDate() + days) document.cookie = `${name }= ${value}; expires = ${ now } `;}// creatCookie('book','雷司令',10)function getCookie(key){ var arr1=document.coo

2020-11-19 20:32:26 148

原创 tab列表自动切换-jquery-click

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="./css/i

2020-11-19 20:29:02 147

原创 基本数据类型与引用数据类型的按值传递

ECMAScript中所有函数的参数都是按值传递的变量有按引用和按值访问,但是参数只能按值传递按值传递时,值会被复制到一个局部变量(就是arguments的一个槽位).基本数类型function addNum(value) { //num的值复制到value,在函数内使用,互不影响 value+=10 return value } let num=10 let result= addNum

2020-11-17 10:24:18 234

原创 n++与++n区别

1.n++与++n单独使用 没有区别2.当赋值或者输出操作时,n++是先运算(输出)num再++++n是先自加再输出运算结果 let num=1 var a=num++ console.log(a);//1,num在运算后变为2 var b=++num console.log(b);//3 ...

2020-11-17 09:45:15 5957

原创 javascriptdom与bom

javascript 是一门用来与网页交互的脚本语言,包括以下三个部分1)ECMAScript:定义并提供核心功能2)DOM:提供和网页内容交互的方法和接口3)BOM:提供和浏览器交互 的方法和接口

2020-11-16 13:12:13 116

原创 Uniapp

小程序注意开启服务端口

2020-11-14 13:58:15 78

原创 git-branch

1.创建库2.创建文件夹接受clone的文件3.打开下载的文件,在文件内右键(Git Bash here)4.修改信息后再次提交依赖太大不需要上传,放在忽视文件内

2020-11-14 13:30:34 151

原创 vue动态路由传参之分页

<template> //1)App.vue<div class="app"> <router-link class="link" :to="{name:'listpage'}">列表</router-link> <router-link class="link" :to="{name:'addpage'}">添加</router-link> <route

2020-11-12 17:28:45 874

原创 vant防止重复提交-loading

-----<van-button type="primary" block @click="commit" :loading="loading" loading-type="spinner" >提交审核</van-button>--- commit() { //提交数据 this.loading=true //显示加载转圈圈 axios.post('https://simbajs.com:7002/

2020-11-12 16:49:00 1744

原创 获取时间戳与解码时间戳

Vue.filter("time",function (time) { //定义过滤器 let date=new Date(Number(time)) return date.getFullYear()+'-'+date.getMonth()+'-'+date.getDate()})//使用过滤器 <van-cell :title="item.title" :value="item.section_name" :label="item.createtime | time" /.

2020-11-12 14:59:42 990

原创 牺牲mary&lily总结的数组求和的五种方法

let arr = [1, 2, 3, 4] //1)reduce // let sum = arr.reduce((item, total) => { // return item + total // }) //2)foreach // let sum=0 // arr.forEach(item => { // sum+=item ...

2020-11-11 16:13:30 115

原创 await promise两种方法封装

1.new promisefunction $sureDelete(params) { return new Promise((resolve, reject) => { wx.showModal({ title: params, success: ({confirm }) => { if (confirm) { resolve() //返回promise对象 } } }) })

2020-11-11 12:07:24 456

原创 res判断时直接结构关键属性

等效于

2020-11-11 11:31:03 118

原创 foreach不遍历内部为空的数组,函数内的代码也不执行

2020-11-09 17:37:17 1558 1

原创 《CSS揭秘》

《CSS揭秘》47 个 css 技巧让你在面对各种 css 问题的时候游刃有余,css 进阶必备。1.灵活的背景定位1.background-position 扩展语法,我们可以在 position偏移量前面指定关键字。background: right 20px bottom 10px;...

2020-11-09 13:32:31 441

原创 前端面试-CSS三角形/扇形

1.四个三角形2.3.扇形

2020-11-07 17:12:55 153

原创 vue双向数据绑定实现的原理?

vue双向数据绑定实现的原理?vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。当把一个普通 Javascript 对象传给 Vue 实例来作为它的 data 选项时,Vue 将遍历它的属性,用 Object.defineProperty() 将它们转为 getter/setter。用户看不到 getter/setter,但是在内部它们让

2020-11-07 14:16:19 1719 1

原创 虚拟DOM(virtual DOM)

虚拟DOM(virtual DOM)相似问题:1.什么是虚拟dom?2.什么是render渲染函数3.虚拟dom实现的原理除了字符串模板,还可以使用render渲染函数来创建HTML,它更接近编译器vue在使用render渲染函数在内存中生成与真实DOM相对应的数据结构,这个在内存中生成的结构称之为虚拟DOM.render函数语法格式:render(createElement){ return createElement(标签名,[数据对象],子元素) }createElement()函数返

2020-11-07 14:10:12 195

原创 vue中MVVM的理解

M就是:模型(Model):数据模型;负责数据存储。泛指后端进行的各种业务逻辑处理和数据操控,主要围绕数据库系统展开。V就是:View 视图,负责页面展示,也就是用户界面。主要由 HTML 和 CSS 来构建VM就是:视图模型(View-Model):负责业务逻辑处理(比如Ajax请求等),对数据进行加工后交给视图展示通过vue类创建的对象叫Vue实例化对象,这个对象就是MVVM模式中的VM层,模型通过它可以将数据绑定到页面上,视图可以通过它将数据映射到模型上ViewModel 是由前端开发人员组织

2020-11-07 14:09:16 1923

转载 vue跨域问题:jsonp proxy

一.什么是跨域跨域问题的出现是因为浏览器的同源策略问题,所谓同源:就是两个页面具有相同的协议(protocol),主机(host)和端口号(port),它是浏览器最核心也是最基本的功能,如果没有同源策略我们的浏览器将会十分的不安全,随时都可能受到攻击。当我们请求一个接口的时候,出现如:Access-Control-Allow-Origin 字眼的时候说明请求跨域了二.如何解决跨域问题1.使用jsonp实现,网页通过script标签向服务器请求json数据,服务器受到请求后,将数据放在一个指定名字的回

2020-11-07 12:26:49 724

原创 vue-router.beforeEach不同角色登录到不同页面

{ 1. router.js path: '/HelloWorld', name: 'HelloWorld', component: HelloWorld, meta: {requireAuth: true, roles: ['superadmin','admin','user']} }, {path: '/SuperAdmin', ..

2020-11-07 10:15:40 9160 2

原创 javascript手写函数

1.写出10个常用的数组方法<script> // indexOf() lastIndexOf() includes() // unshift() shift() push() pop() // concat() slice() reverse() // sort() join() splice() // forEach() map() filter() some() every() // find() findIndex...

2020-11-05 19:24:10 296

原创 前端面试-js-html-css

面试题JS的运行机制?相似问题:什么是事件循环(Event Loop)?谈一谈你对JS中同步和异步的理解?怎么理解js是单线程的,但又可以实现异步编程简述JS单线程异步实现原理js是单线程的语言,它本身不可能是异步的,但js的宿主环境(比如浏览器,Node)是多线程的,宿主环境通过某种方式(事件驱动)使得js具备了异步的属性。js是单线程语言,浏览器只分配给js一个主线程,用来执行任务(函数),但一次只能执行一个任务,这些任务形成一个任务队列排队等候执行,但前端的某些任务是非常耗时的,比如网

2020-11-05 19:09:46 701

转载 原生ajax封装

1、readyState:返回当前文档的载入状态 0-(未初始化)还没有调用send()方法 1-(载入)已调用send()方法,正在发送请求 2-(载入完成)send()方法执行完成,已经接收到全部响应内容 3-(交互)正在解析响应内容 4-(完成)响应内容解析完成,可以在客户端调用了2、status:HTTP状态码 1XX:信息性状态码 ,表示接收的请求正在处理 2XX:成功状态码 , 表示请求正常处理 3XX:重定向状态码 ,表示需要附加操

2020-11-05 16:53:30 113

原创 v-model实现父子组件通信

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.bootcdn.net

2020-11-05 12:09:49 149

原创 为何需要闭包

一个例子来认识闭包是什么,为什么需要它假设有一个需求,需要在页面上显示一个浏览时间,从打开页面的瞬间开始计时,每过一秒加一。本质上说,这个业务就是一个累加器,每过一秒自增一次。首先最简单的 「每隔一秒加一」 ,我们立刻想到的是使用计时器,每隔一秒调用一起累加器函数:let second = 0function counter() { second++}setInterval(function() { // 调用累加器 counter()}, 10000)可以看到我们已经实

2020-11-05 11:30:46 180 2

vue-pro.zip

element-ui导航菜单使用vue-router刷新后高亮显示不一致完美解决办法;动态路由引号问题;2.element-ui中导航菜单(<el-menu>内: router:是否使用 vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转等

2020-11-24

often 常用文件配置 vue相关项目情况

rem.js vue.js jquery.js nunjucks.js vue.config.js jscookie封装

2020-11-24

vue相关案例elementui javascript分页

vue相关案例elementui javascript分页.编程式导航 注册登录 数据库 nodejs后端 后台管理

2020-11-23

vue-elementui

编程式导航 elementui注册登录 MySQL vue增删改查 elementui分页 elementui-后台管理系统 注册登录

2020-11-23

vue相关笔记vuex等等

VUE相关技术笔记,包含vue 简介.VUEX.Mysql.vue-router.webpack.babel,以及后台前端数据库关联等

2020-10-10

Boostrap组件.pdf

bootstrap6版本的常用组件总结:按钮.图标库.卡片.模态框.表单.导航.导航栏.图文.侧边栏.偏移量等等,并有举例子

2020-08-06

空空如也

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

TA关注的人

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