自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小程序顶部返回按钮

一.小程序顶部返回按直接只用uni.navigateTo 相当于再压一次栈,同时在onBackPress中不能直接调用uni.navigateBack 否则会无限循环 导致返回无法生效onBackPress(options) { if (options.from === 'navigateBack') { return false; } uni.navigateBack({ delta: 1 ...

2022-05-10 22:56:56 1549

原创 uniapp实现静态数据和后台数据显示跳转

一.静态数据menuList: [{ name: '催缴管理', id: 1, src: '../../static/homepage/icon_cuijiao@2x.png', path: '../callpay/index' }, { name: '投诉建议', ...

2022-05-09 22:17:43 921

原创 小程序表单验证不使用form验证

小程序

2022-04-27 22:06:41 244

原创 数据静默刷新

一.后台拿到数据dataList渲染在three二.绑定v-if="bol"// 数据<el-tree v-if="bol" :data="treeList" />// 取消btn(){ this.treeList = [] this.bol = false this.$nextTick(() => { this.bol = true}

2022-03-15 21:38:48 163

原创 token存储在vuex实现数据刷新不为空

一. npm i js-cookie和npm i vuex包下载二.在utils创建setToken.js文件,在vuex创建store创建index.js,modules文件夹中创建user.js三.封装js-cookieimport Cookies from 'js-cookie'const TokenKey = 'token'export function getToken () { return Cookies.get(TokenKey)}export func.

2022-03-15 21:06:13 229

原创 防抖和节流

防抖和节流:都是起到降频防抖:持续触发不执行,等触发的时间过了再执行<button>点击防抖</button> <script> let btn = document.querySelector("button"); function add() { console.log("打印"); } function debounce(fun, time) { let timer;

2022-02-15 10:42:43 230

原创 watch监听数据

watch监听简单数据类型可以监听到数据变化<template> <div> <button @click="btn">点击改变</button> </div></template><script>export default { name: "Btn", data() { return { bbb:"aaa", }; }, methods: {

2022-01-07 12:08:39 1181

原创 前段面试题二

平时都是用什么实现跨域的?jsonp: 利用 <script> 标签没有跨域限制的漏洞,网页可以得到从其他来源动态产生的 JSON 数据。JSONP请求一定需要对方的服务器做支持才可以。JSONP优点是简单兼容性好,可用于解决主流浏览器的跨域数据访问的问题。缺点是仅支持get方法具有局限性,不安全可能会遭受XSS攻击。声明一个回调函数,其函数名(如show)当做参数值,要传递给跨域请求数据的服务器,函数形参为要获取目标数据(服务器返回的data)。创建一个<script&g

2022-01-06 20:59:27 298

原创 前段面试题

一.vue2vue3的区别1.vue3比vue2的性能提升2.vue3具有composition API实现逻辑模块化和重用3.vue新增了新的特性,如Teleport组件,全局api的修改和优化等4.vue2实现双向数据绑定原理,是通过ES5Object.defineProperty,根据具体的key去读取和修改5.vue3,使用ES2015的更快的原生proxy替Object.defineProperty6.生命周期不同7.vue2对于typescript的支持非常有限,没有

2022-01-02 11:28:30 415

原创 常见的布局方法有哪些

页面布局常用的方法有浮动、定位、flex、grid网格布局、栅格系统布局浮动: 优点:兼容性好。 缺点:浮动会脱离标准文档流,因此要清除浮动。我们解决好这个问题即可。 绝对定位 优点:快捷。 缺点:导致子元素也脱离了标准文档流,可实用性差。 flex 布局(CSS3中出现的) 优点:解决上面两个方法的不足,flex布局比较完美。移动端基本用 flex布局。 网格布局(grid) CSS3中引入的布局,很好用。代码量简化了很多。 利用网格布局实现

2021-12-29 22:41:53 3895

原创 axios的请求拦截和响应拦截

1.安装axiosnpm install axios --save2.引入模块在untils文件夹中创建request.js文件,引入axios模块import axios from "axios";3.创建axios实例// 引入axiosimport axios from 'axios'// 引入提示消息组件import { Message } from 'element-ui'const _axios = axios.create({ baseURL: proce

2021-12-23 01:00:27 3562

原创 v-model双向数据绑定

vue-model是通过input v-bind绑定属性的值 利用绑定事件v-on来监听输入域内容的变化, 使输入域中的最新的数据覆盖原来的数据 来实现v-model 的双向数据绑定vue.js采用 数据劫持结合发布者-订阅者模式 的方式,通过 Object.defineProperty() 来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回掉。当把一个普通 JavaScript 对象传给Vue 实例来作为它的 data 选项时,Vu...

2021-12-18 22:56:09 276

原创 继承的种类

01. Call 式继承又叫借用构造函数继承。function Person(name, age) { this.name = name this.age = age}Person.prototype.say = function () { console.log('Hello World')}function Star(name, age) { Person.call(this, name, age) // Person.apply(this, [nam

2021-12-15 23:11:12 81

原创 react-redux使用

React 和 Redux 是两个独立的库,两者之间职责独立,因此,为了更好的实现在 React 中使用 Redux 进行状态管理,就需要一种机制,将这两个独立的库关联在一起,这就是 react-redux 出现的原因1.基本使用 yarnaddreact-redux或者npm ireact-redux2.配置index.jsimport ReactDOM from 'react-dom'import App from './App.js'import store ...

2021-12-14 00:31:58 784 1

原创 Redux使用

1.安装Redux yarnaddredux或者npm iredux2.Redux有三个核心概念 action(动作):描述要做的事情,相当于公司里面要做的事情,比如打扫卫生这个事等 reducer(函数):更新状态,相当于公司的员工,负责执行的 store(仓库):整合action和reducer,相当于公司的老板 流程:老板(store)分配(dispatch)要做的事情(action)给员工(red...

2021-12-13 20:58:49 778

原创 组件传值双向绑定 v-model

父子组件双向绑定 子组件标签 :value="父组件属性" @input="父组件属性=$event" 子组件标签 v-model="父组件属性" 子组件内: props:['value'], model:{ prop:'传入的属性名,默认是value', event:'绑定的事件名,默认是input' }, 单向数据流:栈不可修改,堆可以修改 基本数据类型不可...

2021-12-13 20:06:17 838

原创 Vue的插槽

1.插槽默认内容口诀: <slot>夹着内容默认显示内容, 如果不给插槽slot传东西, 则使用<slot>夹着的内容在原地显示<slot>默认内容</slot>2.具名插槽当一个组件内有2处以上需要外部传入标签的地方 ,传入的标签可以分别派发给不同的slot位置 v-slot一般用跟template标签使用 (template是html5新出标签内容模板元素, 不会渲染到页面上, 一般被vue解析内部标签) ...

2021-12-11 21:16:55 131

原创 Promise

css简介CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称.有时我们也会称之为 CSS 样式表或级联样式表。CSS 是也是一种标记语言CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。CSS 让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:CSS 可以美化 HTML , 让 HTML 更漂亮, 让页面布局更简单。CSS 最大价值: 由 HTML 专注去做结构呈现

2021-12-11 15:07:01 3291

原创 React的知识学习02

(1).useState基本使用 1.导入useState 2.调用useState函数,并传入状态的初始值 3.useState函数的返回值中,拿到状态和修改的函数import React, { useState } from 'react'const App = () => { // 结构数组 const [count, setCount] = useState(0) return ( <...

2021-12-11 15:01:48 219

原创 安全问题 :CSRF 和 XSS攻击?

CSRF(Cross-site request forgery):跨站请求伪造。方法一、Token 验证:(用的最多) 服务器发送给客户端一个token; 客户端提交的表单中带着这个token。 如果这个 token 不合法,那么服务器拒绝这个请求。 方法二:隐藏令牌:把 token 隐藏在 http 的 head头中。方法二和方法一有点像,本质上没有太大区别,只是使用方式上有区别。方法三、Referer 验证:Referer 指的是页面请求来源。意思是

2021-12-11 00:30:04 2848

原创 React的知识学习

一.React命令npx create-react-app文件名二.React组件 函数式组件 先定义。 a,函数名称必须以大写字母开头。 b,必须有返回值,返回值表示该组件的结构,如果不想渲染任何内容,可以 return null。 再使用。 a,<函数名/>,单标签闭合。 b,<函数名></函数名>,双标签。 import ReactDOM from 'react-dom'f...

2021-12-10 00:40:49 134

原创 后台管理系统中的权限管理是怎么实现的?

录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到token之后(我会将这个token存贮到cookie中,保证刷新页面后能记住用户登录状态),前端会根据token再去拉取一个 user_info 的接口来获取用户的详细信息(如用户权限,用户名等等信息)。权限验证:通过token获取用户对应的 权限,动态根据用户的 权限算出其对应有权限的路由,通过 router.addRoutes 动态挂载这些路由。具体思路:登录成功后,服务端会返回一个 token

2021-12-09 23:45:31 2210 3

原创 react中实现父传子 子传父 兄弟传值

1,父组件向子组件传值父组件import React, { Component } from 'react'import Child from './Child'export default class Parent extends Component { state = { num: 6666, } render() {// 可以结构const {num}=this.state return ( <di

2021-12-09 00:01:03 1254

原创 vue中是怎么实现父向子、子向父、兄弟之间的传值的?

父向子传值主要通过的是props属性来传值,props只读<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="i

2021-12-08 23:41:59 313

原创 前段面试精选

常用的数组方法有哪些?concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。includes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在..

2021-12-07 16:59:27 172

原创 React中this指向

import React, { Component } from "react";export default class App extends Component { constructor() { super(); this.state = { count: 0, }; } // 点击加1箭头函数需要return handleClick() { return ()=>{ this.setState({ count:.

2021-12-07 14:13:37 262

原创 vue里api封装

api封装 utils/request.js 1:安装axiosnpm iaxios 2:加入axios副本 const _axios=axios.create({ baseURL:process.env.VUE_APP_... }) 3:请求拦截 _axios.interceptors.request.use((config)=>{ return config },(error)=...

2021-12-04 16:22:19 305

原创 git常用指令

gitinit初始化gitadd .提交代码gitcommit -m提交暂存区gitbranch分支名称创建分支gitcheckout分支名称切换分支gitchegitckout -b分支名称创建切换分支git checkout master切换主分支gitmerge分支合并gitbranch -d分支名称git push -u 远程仓库的别名 本地分支名称:远程分支名称gitremoteshow远程仓库名称查看远程...

2021-12-03 15:07:54 76

原创 组件传值之ref

获取dom 用于原生标签 <div ref="xxx"></div> this.$refs.xxx===该标签dom 获取组件实例对象 用于组件标签 <add ref='add' /> add组件实例对象: this.$refs.add 子组件获取父组件实例对象(最近的父级组件) this.$parent===父组件实例对象 ...

2021-12-01 00:03:44 357

原创 路由钩子函数

路由钩子函数分为三种:1:全局钩子: beforeEach、 afterEach、beforeResolve2:单个路由里面的钩子: beforeEnter3:组件路由:beforeRouteEnter、 beforeRouteUpdate、 beforeRouteLeave

2021-11-28 22:46:04 2282

原创 Vue自定义指令

1.在原生标签的方法如果想在组件身上用,需要加一个修饰符.native,可以在组件使用原生方法.父传子 子组件

2021-11-28 00:03:58 146

原创 路由使用0,0

路由:一个地址指向对应一个组件router:路由的实例化对象,管理整个路由route:提供当前路由的基本信息基本路由传参传值 this.$router.push("/path地址?参数名=值&参数2=值2") this.$router.push({path:'/path地址'query:{...

2021-11-27 21:57:43 154

原创 vue中的小技巧

持续更新中

2021-11-27 21:12:04 332

原创 配置简单跨域浏览器

vuex的基本使用1.安装vue npm ivuex或者yarnaddvuex2.导入 src/store/index.js import Vuexfrom 'vuex'3.注册 import Vuefrom 'vue'Vue.use(Vuex)4.实例化 conststore =new Vuex.Store({ state:{}, ...

2021-11-27 20:53:38 327

原创 如何使用vuex

vuex的基本使用1.安装vue npm ivuex或者yarnaddvuex2.导入 src/store/index.js import Vuexfrom 'vuex'3.注册 import Vuefrom 'vue'Vue.use(Vuex)4.实例化 conststore =new Vuex.Store({})...

2021-11-27 20:38:05 91

原创 mock使用

1.安装mockyarnadd mockjs或者npm imockjs2.导入import Mockfrom "mockjs"3使用mock功能:拦截按键实现请求,产生随机数据.import Mockfrom "mockjs"Mock.mock("拦截url",{ 随机数据})

2021-11-14 00:58:50 778

原创 vue组件

1.1vue组件组件是可复用的 Vue 实例, 封装标签, 样式和JS代码组件化 :封装的思想,把页面上 可重用的部分 封装为 组件,从而方便项目的 开发 和 维护一个页面, 可以拆分成一个个组件,一个组件就是一个整体, 每个组件可以有自己独立的 结构 样式 和 行为(html, css和js) 1.2_vue组件_基础使用目标: 每个组件都是一个独立的个体, 代码里体现为一个独立的.vue文件口诀: 哪部分标签复用, 就把哪部分封装到组件内==(重要): 组件内templa

2021-10-23 17:33:49 59

原创 鼠标右键打开vscode

Windows Registry Editor Version 5.00 ; Open files [HKEY_CLASSES_ROOT\*\shell\Open with VS Code] @="Edit with VS Code" "Icon"="C:\\Program Files\\Microsoft VS Code\\Code.exe,0" [HKEY_CLASSES_ROOT\*\shell\Open with VS Code\command] @="\"D:\\vscod\.

2021-10-11 20:58:51 178

原创 js数组方法

<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <tit.

2021-10-08 16:40:00 80

原创 上传npm

如何创建你的第一个NPM包1.npm是什么?npm 是Node 的模块管理器,功能极其强大。 它是Node 获得成功的重要原因之一。 正因为有了npm,我们只要一行命令,就能安装别人写好的模块.2.创建第一个node模块Node.js模块就是发布到npm的代码包,创建一个新模块的第一步就是创建一个package.json文件。 你可以用npm init来创建package.json文件。 这个过程中命令行会逐步提示你输入这个模块的信息, 其中模块的名字和版本号是必填项.

2021-10-07 20:27:14 323

空空如也

空空如也

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

TA关注的人

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