自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uniapp 父子组件 兄弟组件 页面跳转传参

父子组件子组件中写个方法 this.$emit里 第一个参数是事件名字 第二个是要传递的参数props: ['title']methods: { todata() { this.$emit('changename', 'lilili'); } }父组件中注册子组件 然后使用 子组件名字叫test @子组件里发送的事件 在父组件里绑定事件 就可以得到子组件里发送过来的值:title是给子组件传值 子组件用 props接收 见上图<test :title="..

2022-01-03 16:48:42 1057

原创 webpack打包ts

1.先安装相关 npm i webpack webpack-cli typescript ts-loader -D2.配置webpack.config.jsconst path = require('path')module.exports = { //指定入口 entry: "./src/index.ts", //输出到哪 output: { path: path.resolve(__dirname, "dist"), filename: 'bundle

2021-12-14 12:15:16 855 1

原创 css瀑布流

像这样html <div class="bigbox"> <div class="box1">aa <br> caaaaaaaaaaaaaaaaaa </div> <div class="box2">cc </div> <div class="box3">bb <br>aaaaaaaa <br>..

2021-11-19 09:21:23 517

原创 elementui el-select 点击但是选不中

在el-select 上 添加 @change="$forceUpdate" 强制更新 <el-select v-model="value1" size="mini" @change="$forceUpdate()"> <el-option v-for="(item, index) in songselect" :key="index" :label="item.label" :value

2021-11-17 20:55:45 666

原创 修改element-ui样式无效解决办法

加上 ::deep 深度作用选择器例如我要修改表格里默认的鼠标经过时候的背景颜色::v-deep .el-table__body tr:hover > .el-table_1_column_2 { color: #4672fe; font-weight: 600; cursor: pointer;}

2021-11-17 15:55:59 332

原创 vue-router 嵌套子路由时刷新获取不到数据

如果页面中有要请求的数据 那么刷新之后获取不到数据是因为一开始的页面的id(id只是个例子)是由别的页面传进来的,当跳转到子路由时再刷新获取不到id解决办法让嵌套子路由接收query参数{ path: "/singerpage", component: SingerPage, redirect: '/singerpage/hotsing', props(route) { return { id: route.query.id .

2021-11-17 10:23:58 999

原创 js防抖函数

let timerexport default function debounce(fn, delay) { if (timer) clearTimeout(timer); timer = setTimeout(function () { fn(); }, delay);}

2021-11-13 19:46:55 691

原创 在vue组件里的函数在vuex异步函数执行后执行

用 .then changemusic1(where) { this.$store.dispatch("changemusic", where).then((res) => { this.currentTop(); }); },

2021-11-09 12:54:00 475

原创 js click事件 addEventListener 传参(event)

就算是传参数在也不用在绑定事件的时候写(event) 注意这里是在vue中写的 所以有一个this指向问题 在箭头函数里 this指向的是document 这里赋值给that在解绑的时候也不要写(event) 第三个参数是控制是否冒泡的clickevent(event) { //const playbox = document.getElementsByClassName("PlayBox")[0]; //const boxindex = event.path.fin.

2021-11-07 15:14:34 3006

原创 点击弹出窗之外的区域 隐藏弹出窗 和Animate.css配合

document.addEventListener("click", (e) => { const clicklogin = document.getElementsByClassName("login")[0]; const loginbox = document.getElementById("gotologin"); const boxindex = e.path.findIndex((item) => item == loginbox); .

2021-11-02 12:51:53 266

原创 vue路由传参(一看就懂)

query传参 this.$router.push({ path, query: { userprofile: this.userprofile, }, });路由里这样配置{ path: '/userpage', component: UserPage, props(route) { return { userprof.

2021-10-26 11:55:04 97

原创 判断对象长度

Object.keys(xxxxx).length == 0

2021-10-26 08:32:46 892

原创 axios 设置请求自动携带cookie

前提是你之前要把cookie存到浏览器里 名字不限于cookieexport function request(config, params, login) { const instance = axios.create({ baseURL: "http://localhost:3000", timeout: 30000, params: params, login, withCredentials: true, //主要是添加这一行 })...

2021-10-25 21:07:14 2536

原创 vue开发版本和线上版本分离

做了哪些改变?public里的index.htmlprocess.env.NODE_ENV是用来判断是否为开发版本的 分别为 production development只有在production 时才用到cdn引入 不然平常开发时因为需要每次请求资源 所以页面渲染的慢​​​​ <!DOCTYPE html><html lang=""><head> <meta charset="utf-8"> <meta htt..

2021-10-25 16:09:41 190

转载 js实现拖动div

比如托上面一小部分 整体都跟着走下面的是要导出的内容 fndown 依赖 fnMove函数export function fndown(event, main) { event = event || window.event; var disX = event.clientX - main.offsetLeft, disY = event.clientY - main.offsetTop; document.onmousemove = function (event) ...

2021-10-24 13:54:46 163

原创 把数字转化成带单位

直接调用函数 参数是数字就好export default function playvolume(arg) { if (arg) { if (arg.toString().length > 13) { // return arg/1000000000000+"万亿" const volume = arg / 1000000000000; const realVal = parseFloat(volume).toFixed(2); re.

2021-10-22 20:19:21 106

原创 autoprefixer postcss-px-to-viewport使用

在项目目录下创建 postcss.config.js 然后写下面的代码 注意autoprefixer要用8版本的 不然会报错const autoprefixer = require('autoprefixer')const pxtoviewport = require('postcss-px-to-viewport')module.exports = { plugins: [ autoprefixer(), // 用来给不同的浏览器自动添加相应前缀,如-webkit-,-moz-等.

2021-10-22 09:03:39 338

原创 Uncaught SyntaxError: Unexpected token ‘<‘

为什么错解决办法vue/cli3:把静态资源放到public目录下 再引入就好了 不要放在别的目录下vue/cli2:Vue项目报错:Uncaught SyntaxError: Unexpected token < - 码农教程

2021-10-21 09:38:11 120

原创 学习Vue

1.插值表达式应用在标签体中 指令语法在标签属性中应用 ;2. v-model双向绑定只能应用在表单类元素上 eg:v-model="name"(因为v-model默认绑定的就是value值) v-bind可以简写成:value="name" ;3.el 两种写法 new Vue({el:"#root"}) ; const vm=new Vue({}) vm.$mount("#root")4.data:{} data(){return{}}5.MVVM模型6.Obj.define...

2021-10-16 12:02:24 148

原创 记录知识点

一.引入css @import " " 小程序中引入模板 <import src=" " />

2021-10-10 09:46:18 58

原创 小程序封装请求接口

2021-10-09 15:59:33 47

原创 记录bug

一. 网易云微信小程序事件通信 播放下一首之后 起始时间是上一首歌已经播放过的时间用BackgroundAudioManager.onTimeUpdate(function callback)更新歌曲的播放信息之后 切换页面 页面不是被销毁 而是被隐藏起来了 在跳转的页面加载完之后 更新还在进行(可能是因为卡顿) 然后起始时间就是上一首歌播放时间解决方法:点击切歌之后 暂停播放 不给更新机会 这样在加载下一个页面的时候 起始时间就是页面设置的默认起始时间二. 用navigateTo跳转切歌最..

2021-10-09 08:54:27 168

原创 微信小程序 设置背景音频

先实例一个对象 设置它的url 和title(必填) 有了对象之后 就可以调用方法

2021-10-08 10:43:17 724

原创 小程序 下拉刷新 上拉加载

一 下拉刷新开启下拉刷新 设置刷新状态 绑定刷新事件 也就是重新获取数据获取数据 获取之后 把刷新状态设置为false 这样上边的刷新条就会拉回二 上拉加载不是刷新页面 所以请求之后要push到原来数组里...

2021-10-07 11:05:17 72

原创 小程序实现加载动画 和 视频播放跳转到上次播放位置

一加载动画在点击标签时 把videoList (图片中拼错) 重置为空数组 这时页面就会显示一片空白 然后跳转标签 去请求数据 getvideoList(图片中拼错)函数首先放出加载动画 然后请求 这时页面还是一片空白 videoList有值了之后就会显示数据 隐藏对话框二 跳转到上次播放位置利用bindtimeupdate事件 记录每次进度发生变化时的当前进度 先创建个对象记录每个点击播放的视频 id是标识 if(havevideo) 如果找到有播放记录就随时更新 没有的...

2021-10-07 08:45:35 1848

原创 小程序video实现禁止视频同时播放

点击事件 获取当前视频id VideoContext通过id控制视频 点击一个视频时创建一个实例 当点击不同视频的时候 就会触发 .stop() 此时的实例是上一个视频的 此时又又保存了一个新的实例

2021-10-06 18:01:50 800

原创 当请求数据需要携带cookie

登陆的时候需要保存cookie 调用接口的时候保存到header里 才能访问接口 cookies在res里 通过传进来的data.islogin判断是不是登录find方法 遍历item 通过indexOf看item里面是不是包含字符串 返回 包含的 也就是 !==-1 find方法返回索引...

2021-10-06 14:27:40 309

原创 时间戳转换和字符串裁剪

时间戳转换格式是formatDate(datatime,'yyyy-MM-dd,hh-mm-ss')export function formatDate(date, fmt) { if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); } let o = { 'M+': date.getMonth() + .

2021-10-03 19:36:34 81

原创 Access denied for user ‘‘@‘localhost‘ (using password: YES) errno: 1045 errno:42000

default文件在这里找到把这三项换成你的数据库名称 和用户名 密码实在不行就切换个端口号 我这个原来是3306 我换成 3307 同时phpstydy也要切换

2021-09-13 09:46:12 533

原创 coderwhy 商城项目思路整理(三)

五.购物车页面1.navbar是封装的组件 改一下即可2.在shoplist里把cartlist里的每个item传递给shoplistitem组件调用 在shoplist里面用better-scroll组件 设置滑动 高度要设置好3.计算总价4.全选按钮 和 购物车为空是结算弹窗 设置一个属性来接收是否都选中如果全选中的话就会亮 点击的时候会对当前状态取反...

2021-09-12 16:55:02 260

原创 coderwhy 商城项目思路梳理(二)

四.写详情页在首页GooListItem里设置了点击跳转 这和路由的设置相呼应1.NavaBar用以前封装好的模板 左边插槽添加图片 并且设置点击返回中间插槽flex布局 利用currentindex=index实现活跃2.Detail轮播图 和ss 仍然是先获取数据 network detail.js里配置 然后再Detail.vue里created()里获取detail.js里封装构造函数 这里面的this指向调用者 所以goods shop goodsparams 数据..

2021-09-12 16:22:30 319

原创 coderwhy 商城项目思路梳理(一)

目录一. 准备二.开始写前奏三.写Home.vue一. 准备1.安装脚手架 -g 创建vue项目 vue3:vue create ProjectName vue2:vue init webpack ProjectName2.建需要的文件夹common(这里放一些公用的代码 一些js方法文件 mixin,utils,playcount等)components/common&&contentnetwork放网络请求数据相关router 放路由相关...

2021-09-12 11:21:12 942

原创 new URL 获取get请求的 pathname 和 参数

const{pathname}=newURL(req.url,'http://localhost:3000') //{}解析constquery=newURL(req.url,'http://localhost:3000').searchParams//获取请求参数用get('id')

2021-06-25 19:40:01 781 1

原创 new URL() 代替url.parse 方法

学习笔记 欢迎提出宝贵意见url.parse 被废除 用new URL()代替内容实时更新 哪里用到 就更新哪些以前用url.parse 获取pathname 和 query 这些都是get类型的1.换为new URL 这样获取 pathname:(图为console.log(new URL(req.url,'http://localhost:3000')))let {pathname}=new URL(req.url,'http://locathost:3000')2.这.

2021-05-18 22:58:37 3624 1

原创 web大作业 功能性网站 todolist

实现功能:每日列表清单 添加任务 删除任务 勾选完成任务 修改任务 保存到本地存储 保证每次打开网页的时候还会有数据保存1.html部分<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport

2021-05-18 12:35:29 416

原创 mongoose populate 填充

学习笔记 内容待商榷 欢迎提出宝贵意见populate方法提供外键填充的功能1.创建作者集合const User = new mongoose.model('User', new mongoose.Schema({ name: { type: String, require: true }, age: Number }))2.创建文章集合 要与外界关联的属性的值 type类型:mongo

2021-05-17 15:03:51 307

原创 实现用户添加信息 修改信息 功能

学习笔记 内容待商榷 欢迎提出宝贵意见实现用户添加信息功能1.连接数据库 建立服务器 建立集合规则const http = require('http')const mongoose = require('mongoose')const url = require('url')const querystring = require('querystring')const app = http.createServer()mongoose.connect('mongodb://loc

2021-05-17 13:17:44 2625

原创 静态访问web网页

学习笔记 内容待商榷 欢迎评论区指出错误1.导入模块const http = require('http')const url = require('url')const path = require('path')const fs = require('fs')const mime = require('mime') mime模块获取文档type类型app.on('request', (req, res) => { // let pathname = u.

2021-05-16 12:08:06 90

原创 获取POST类型表格信息

constquerystring=require('querystring')//用url不行app.on('request',(req,res)=>{//post是通过事件接收的//data请求参数传递的时候触发data不是一次就传完成的//end完成的时候触发letpostparams=''req.on('data',params=>{postparams+=param...

2021-05-16 12:05:16 146

原创 nodejs 和 mongodb 交互

自己的学习笔记 内容待商榷 欢迎在评论区提出宝贵意见mongodb数据库相关 1.引入模板 连接到本地数据库 如果没有数据库会建立 mongoose.connect会返回promise对象 所以能使用 .then .catch 方法const mongoose=require('mongoose')mongoose.connect('mongodb://localhost/playground').then(()=>{console.log('数据库连接成功')}).catch(.

2021-05-16 00:00:32 171

空空如也

空空如也

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

TA关注的人

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