自定义博客皮肤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)
  • 收藏
  • 关注

原创 nodeJs+MongoDB条件查询失效的可能原因

用express+MongoDB写接口的时候出现一个问题: model.find({ openid: params.openid }, function (err, docs) { if (!err) { res.json({ data: docs, msg: '返回成功!', code: 200 }) } })不管传入的openid是什么值,接口永远都会返回该数据表中所有数据,即条件查询失效。后来我尝试了传入该数据表的其他字段来

2021-12-02 21:39:17 972

原创 express:router中再次发送一个请求

安装axiosnpm install axios --save在对应的router文件中引入axiosconst axios = require('axios')借助axios发送请求router.get('/', function (req, res, next) { //如果要在axios请求的回调函数中用到res,需要在此进行一次赋值,否则报错:res.json is not a function let _res = res let code = r..

2021-11-22 12:20:56 1833

原创 微信小程序踩坑记(四)

一:给对象的属性赋值情况一:修改goods.goodsInfo.color的值this.setData({ 'goods.goodsInfo.color':'red'})情况二:对象的属性是一个动态值,给list的name属性赋值,name是动态的let value = `list.${name}`this.setData({ [value] : 'newName'})二:注意普通函数的命名不能与生命周期函数相同项目开发过程中,我使用到了dialog组件,因为监控该组件的关闭事件名

2021-11-22 12:06:22 567

原创 闭包会导致内存泄漏吗

刷面经的时候学到的是闭包内引用的变量不会被回收,会导致内存泄漏。看了红宝书(js高级程序设计)的原话是:由于IE在IE9之前对jScript对象和COM对象使用了不同的垃圾回收机制,所以闭包在这些旧版本IE中可能会导致问题。在这些版本的IE中,把HTML元素保存在某个闭包的作用域,就相当于宣布该元素不能被销毁。function assignHandler(){ let element = document.getElementById('someElement')' element.onclic

2021-09-25 20:23:35 1355 2

原创 基于Vue的会员管理系统(六)

很久没更新这个坑了,今天复习了一下Vuex,打算把Vuex在这个项目里面的使用写一下。根据官方文档当我们的应用遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏:多个视图依赖于同一状态。来自不同视图的行为需要变更同一状态。项目中,每次跳转路由前都会被导航守卫拦截一次,从localstorage中获取token和user信息,验证token以及user信息是否有效。为了方便获取和管理登录信息,使用Vuex进行状态管理。具体实现根目录下创建一个store文件夹,文件夹下创建一个index

2021-09-12 20:23:44 612

原创 BFC、margin合并与塌陷、高度塌陷

1.BFCBFC(Block Formatting Context)叫做“块级格式化上下文”。BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。触发BFC的条件:① float ≠ none② position ≠ static / relative③ display : inline-block / table-cell / table - caption / flex / inline-flex④ overflow ≠ visible2.margin合并与塌陷

2021-08-24 19:53:37 147

原创 JavaScript的一些冷知识

学了框架之后发现自己基础不牢固,本篇blog记录啃书过程中对js基础的查漏补缺。书籍是JavaScript DOM编程艺术,很简单的入门级别书。啃完这本后再看红宝书,深入一点的知识可能会另开blog补充。一些名词的解释平稳退化:让访问者在他们的浏览器不支持JavaScript的情况下仍能顺利地浏览你的网站。渐进增强:用一些额外的信息层去包裹原始数据。css负责“表示”,JavaScript负责“行为”,将css和js代码从文档中分离出来。向后兼容:给js代码的运行添加条件,确保较古老的浏览器不会因

2021-08-18 15:38:30 129

原创 uniapp项目踩坑记(二)

1.scroll-view 和 swiper简答区分:scroll-view——一个区域滑动swiper——多个区域滑动2.理清组件化开发中插槽的使用

2021-08-18 15:37:33 105

原创 对象调用属性的两种方式

最近做开发的一个需求是:使用v-for遍历一个数组对象,该数组对象的结构相当于一个二维数组,类似data2[param1][param2]这样一个变量。第一个[]是一个遍历条件,需要根据传入的参数来遍历。而这个参数又需要用上一层的v-for的item来调用。第二个[]是要遍历的内容。调用某个对象的属性有两种方法:1.object.属性2.object[‘属性名’]因为param1的参数名是不确定的,所以要使用方式二。<div v-for=(item,index) in data1&gt

2021-08-15 19:02:55 1332

原创 关于微前端的浅显理解

关于微前端的一些浅显知识,主要是通过看别人的文章来了解,blog记录的内容和别人的文章会有重叠。1.什么是微前端?将不同的功能分成多个子应用。通过主应用来加载这些子应用。核心:先拆后合2.为什么要使用微前端?问题:不同团队间开发同一个应用,技术栈不同怎么办?解决:将应用分为若干个子应用,再将子应用打包,当路径切换时加载不同的子应用。这样每个子应用都是独立的,子应用们的技术栈不受限制。3.如何落地微前端?子应用之间通信?基于URL进行数据传递基于CustomEvent(

2021-04-13 10:41:05 202

原创 es6踩坑记:一些语法的更新

本篇blog主要记录学习es6过程中的一些笔记和收获。一开始发布的内容是简单过一遍es6的记录,之后深入学习的收获还会更新在blog中。可能会有错误以及不准确表达的地方,发现了会重新编辑。1.变量es6相较于js新增的变量:const letconst,let,var的对比var是函数作用域,let、const是块级作用域在函数中声明了var,整个函数内都是有效的,比如在for循环内定义的一个var变量,该变量在for循环以外也可以访问。let、const是块级作用域,在块作用域内定义的变量

2021-04-06 23:53:08 113

原创 uniapp项目踩坑记(一)

本专题blog主要记录学习uniapp并写一个在线教育APP项目的过程中,补充的一些不熟练的知识点和启发。1.slot 插槽作用:主要用于父组件向子组件传递(组件通讯)场景:一般是某个位置需要经常动态切换显示效果使用:子组件中定义插槽,父组件传递标签数据。父组件传递标签数据,子组件插槽处才会被渲染,否则插槽处不渲染任务东西。子组件<div> <!-- name属性值指定唯一插槽名,父组件通过此名指定标签数据--> <slot name="aaa">不

2021-03-22 22:12:36 345

原创 微信小程序踩坑记(三)

这篇blog主要记录写项目过程中补充的ES6、ES7知识点,比较零散。一.解构借鉴文章:https://www.runoob.com/w3cnote/deconstruction-assignment.htmlhttps://www.jianshu.com/p/b4c13f532e58定义:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值解构两部分:解构的源:解构赋值表达式的右边部分解构的目标:解构赋值表达式的左边部分1.数组模型解构基本例子let [a, b, c] =

2021-03-20 15:51:36 102

原创 React踩坑记(一)

在学了Vue.js的基础下学习React,blog主要记录学习过程中的启发,两个框架的区别,以及一些不熟悉的概念。概念区模块化:从代码的角度来进行分析。把一些可复用的代码抽离为单个的模块,便于项目的维护和开发。组件化:从UI界面的角度来进行分析。把一些可复用的UI元素(轮播图)抽离为单独的组件,便于项目的维护和开发。一个网页呈现的过程:1.浏览器请求服务器获取页面HTML代码2.浏览器在内存中解析DOM结构,并渲染出一颗DOM树3.浏览器把DOM树呈现在也页面上DOM和虚拟DOM的区别

2021-03-18 17:51:21 134 1

原创 查询数据的传统写法和es6写法

需求:获取云数据库中的数据并渲染到页面中1. 传统写法 wx.cloud.database().collection('goods').get({ success: function (res) { console.log(res) this.setData({ list: res.data }) }, fail: function (err) { console.log(err

2021-02-08 17:43:37 214

原创 ID选择器和类选择器的区别和使用

一些比较片面的见解。id选择器和class选择器的一些区别id选择器和类选择器都可以控制节点的样式。优先级比较:id选择器>类选择器一个dom节点只能有一个id,可以有多个class。id选择器和类选择器的适用场合在编写样式时尽量使用类选择器,即使该DOM节点可能只出现一次。因为ID选择器的优先级比类选择器高,在后期样式的控制中会越来越难控制。ID必须能够唯一的确定DOM节点。在一个完整的HTML+CSS+JavaScript的页面体系中,对一个DOM节点的ID使用最多的其实是Ja

2020-11-17 14:37:45 2805 1

原创 MVC:布局页和分部页

布局页当出现两个或以上的view中含有共同盒子(布局样式)的时候,可以使用布局页(模板页)来统一管理这些样式。布局页的文件统一放在Shared文件夹中。view需要用到该布局页的样式的时候只需要引用它,比如:@{ Layout = "~/Views/Shared/_LayoutFront.cshtml";}掌握视图节的创建与使用:<br />@section mySection{ @*视图节名称在布局页里定义,下面是实现代码*@ 我是<font color=

2020-11-17 14:05:50 523

原创 小程序发送请求时显示Loading提示的实现

需求:发送请求后到获得数据的时间段,在页面中央显示“加载中”的提示实现:// 同时发送异步请求的次数let ajaxTimes = 0export const request = (params) => { ajaxTimes++ // 显示 加载中 wx.showLoading({ title: "加载中", mask: true, }); return new Promise((resolve, reject) =

2020-11-01 22:23:55 1315

原创 微信小程序踩坑记(二)

本篇博文主要是小程序页面效果和代码的优化一:点击左侧导航栏,右侧商品内容显示不是从顶部开始解决:通过动态设置scroll-top属性的值来使滚动条置顶在scroll-view标签内添加scroll-top="{{scrollTop}}"在Page实例中添加变量scrollTop,默认值设为0给导航栏添加点击事件,每次点击菜单,给滚动条重新赋值为0data: { // 滚动条距离顶部的距离 scrollTop: 0 }, this.setData({

2020-10-31 15:07:05 650

原创 对web及小程序存储技术的碎片理解

存储技术基本步骤1.先判断本地存储中有没有旧的数据2.没有旧数据——>直接发送新请求3.有旧数据——>旧的数据没有过期——>使用本地存储中的旧数据存储技术目的:数据量大——>优化用户体验——>数据缓存小程序和web本地存储技术的区别一、代码区别web:localStorage.setItem(“key”,”value”)localStorage.getItem(“key”,”value”)小程序wx. setStorageSync(“key”

2020-10-31 00:52:59 142

原创 关于Promise的一些碎片理解

写项目的时候用到Promise,将查询到的一些资料拼凑+自我理解补习一下。参考链接:https://segmentfault.com/a/1190000007032448https://www.jianshu.com/p/1b63a13c2701Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。JS运行的执行环境是【单线程】,即一次只能完成一项任务,这个任务可称为主线程。但实际上还有其他线程,如事件触发线程、ajax请求线程等。这个时候就会涉及到同步和异步操作的问题。同步单

2020-10-30 00:30:43 123

原创 微信小程序踩坑记(一)

1.tabBar内的color不支持RGB设置颜色2.

2020-10-27 11:22:22 387

原创 基于Vue的会员管理系统(五)

写这篇文的时候发现太多的界面实现的流程都差不多,基本都是从ui库中获取想要的组件,然后配置路由。重复的工作我不写或者简略写写,只详细写自己比较生疏的技术实现。项目布局的实现路由配置1. 在src\components 目录下新建布局组件文件Layout.vue(基础布局的文件都放在components目录下)2. 在router中增加路由,进入系统的第一个页面(即首页),路由路径一般设置为‘/’布局实现1.可以从ui库中找喜欢的布局组件,但简单的布局自己写样式就可以了(本项目布局是自己写的)2

2020-10-16 22:09:03 1301 1

原创 基于Vue的会员管理系统(四)

系统登录管理的实现终于要开始搞能及时看得见成果的东西了!有点长了这篇文,因为很多工作都是为后面的项目实现做准备,本篇文的各种配置和之后要新增的配置都很类似,基本可以说这篇文的东西都做好后,之后的很多实现都是重复劳动。路由配置Vue Router 是 Vue.js 官方的路由管理器。通过根据不同的请求路径,切换显示不同组件进行渲染页面。在router.js中配置路由并导入目标组件import Vue from "vue";import Router from "vue-router";//默

2020-10-15 21:55:37 842

原创 基于Vue的会员管理系统(三)

初始化项目1.更改图标图标没有发生改变解决办法:清除浏览器的缓存,时间范围:时间不限2) 配置vue.config.js自行选择配置,基础配置差别都不大,自行查找参考:module.exports = { devServer: { port: xxxx, // 端口号,如果端口号被占用,会自动提升1 host: "localhost", //主机名, 127.0.0.1, 真机 0.0.0.0 https: false, //协议 open: true, //启动服务时

2020-10-12 21:48:20 702 1

原创 基于Vue的会员管理系统(二)

项目环境搭建1. 全局安装Vue CLI2. 验证Vue CLI安装成功执行vue -V,如果提示“‘vue’ 不是内部或外部命令”解决方法:配置环境变量a) 查看全局安装目录 nmp root -gb) 在 我的电脑 进入全局安装目录下,找到 vue.cmdc) 右键计算机,属性—》高级系统设置—》环境变量,将 vue.cmd 的路径加入环境变量,点击“确定”d) 重启命令行窗口, vue -V 执行正常。3. 在需要创建项目的文件夹下cmd打开控制台(在路径栏中输入cmd回车

2020-10-12 20:31:07 529

原创 基于Vue的会员管理系统(一)

项目是在一个Vue学习教程里跟做的,不会全盘细节都作记录,只记录一些自己的收获和一些特别需要注意的坑。项目效果(只展示会员管理这一界面):项目需要的技术:1. 前后端分离前后端约定好API接口、数据、参数项目中api接口均已给出前后端并行开发前端写html页面,通过http请求调用后端提供的api后端开发api2. 生成假数据,不依赖后端开发的接口为了不依赖后端提供的api,前端可使用mock.js数据生成器生成假数据,便于测试与后台的交互。通过一定规则 (API文档)生成模拟

2020-10-12 20:24:41 2110 7

原创 Vue-CLI中引入jQuery并写一个轮播图

想在Vue-CLI项目中使用轮播图,轮播图的代码是根据自己需求作了修改的别人的代码,其中用到jQuery。需求:1.写出轮播图的代码2.在Vue-CLI中引入jQuery3.将轮播图的代码放入项目中封装为组件1.将jq引入到vue-VLI中A. 安装jQuerynpm install jquery –save安装成功后package.json显示:(应该是默认安装最新版本)B. 配置vue.config.js(框内新增)C. 在main.js中引入import $ from 'j

2020-10-11 18:16:21 385 1

原创 解决Navicat for MySQL不支持check约束问题

表格设计:需求:为字段“成绩”添加0-100取值范围的约束问题:用的Navicat for MySQL,不支持check约束,check语句写上没有报错,但是没有实际效果。解决办法:添加触发器查询语句1:TRUNCATE TABLE xs_kc; INSERT INTO xs_kc(学号,课程号,成绩) VALUES('201801','001','21'); 运行结果:查询语句2:TRUNCATE TABLE xs_kc; INSERT INTO xs_kc

2020-05-08 21:45:11 7307

转载 java 判断两个字符串相等

https://blog.csdn.net/BobYuan888/article/details/87993063

2019-11-30 19:56:38 130

原创 HDU1873

#include<string>#include<iostream>#include<queue>using namespace std;int k;struct patient{ int pri; //记录优先级 int num; //记录id friend bool operator<(patient p1,patient p2)...

2019-11-05 22:28:24 201

原创 HDU1702

#include<iostream>#include<queue>#include<stack>#include<string>using namespace std;int main(){ int i; //一共实验的次数 int j; //每次实验的操作次数 int x; //元素变量 string str; //记录出入规...

2019-11-05 20:30:27 400

原创 Java线程的应用

转自博客园的博客

2019-11-05 08:38:53 105

原创 POJ1363

/* 顺序栈表示:函数定义 *//* 顺序栈表示:类型和界面函数声明 */enum { MAXNUM = 20 /* 栈中最大元素个数,应根据需要定义 */}; typedef int DataType; /* 栈中元素类型,应根据需要定义 */struct SeqStack { /* 顺序栈类型定义 */ int t; /* 栈顶位置指示 ...

2019-10-23 23:37:45 1370

原创 简易计算器HDU1237(栈的应用)

/* 顺序栈表示:函数定义 *//* 顺序栈表示:类型和界面函数声明 */enum { MAXNUM = 20 /* 栈中最大元素个数,应根据需要定义 */}; typedef double DataType; /* 栈中元素类型,应根据需要定义 */struct SeqStack { /* 顺序栈类型定义 */ int t; /* 栈顶位置...

2019-10-19 21:20:39 274

原创 输入磁盘文件

#include <fstream> ofstream outfile; outfile.open("log.txt", ios::app); //"log.txt"为被存入的文件命 outfile<<"输出到文件的内容"<<endl;

2019-05-12 18:01:10 141

原创 函数模板与模板类

定义:类模板是一个通用类数据成员、函数的返回类型和形参类型不具体指定,用虚拟类型代表使用模板定义对象时,系统根据实参类型取代虚拟类型...

2019-05-12 18:00:08 104

原创 vc++6.0对于函数模板重载的报错

#include<iostream>using namespace std;template<typename T>void display(T a){ cout<<a<<endl;}template<typename T,class S>void display(T t,S s){ cout<<t&l...

2019-05-12 16:20:46 405

原创 js写一个简易计算器

<!DOCTYPE html> <html> <head> <title> 简易计算器</title> <script type="text/javascript"> function count(){ var x1=document.getE...

2019-04-21 16:57:36 10763 3

原创 this指针(自引用指针)相关

不论调用哪一个对象的成员函数,其实调用的都是相同内容的代码。c++编译系统只用了一段空间来存放这个共同的函数代码段,因此,每个对象的存储空间都只是该对象的数据成员所占用的空间,不包括成员函数。函数代码是存储在对象空间之外的。this指针:每当创建一个对象时,系统就【把this指针初始化为指向该对象】=【this指针的值是当前调用成员函数的对象的地址】this指针的值随着对象的不同而改变。#...

2019-04-19 23:24:37 515

空空如也

空空如也

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

TA关注的人

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