庚中
码龄9年
  • 461,117
    被访问
  • 233
    原创
  • 591,966
    排名
  • 344
    粉丝
关注
提问 私信

个人简介:https://github.com/huanggengzhong

  • 加入CSDN时间: 2013-01-01
博客简介:

庚中

博客描述:
不忘初心
查看详细资料
个人成就
  • 获得278次点赞
  • 内容获得102次评论
  • 获得819次收藏
创作历程
  • 6篇
    2021年
  • 40篇
    2020年
  • 137篇
    2019年
  • 51篇
    2018年
成就勋章
TA的专栏
  • 二十.webpack
    1篇
  • 二十四.算法系列
    4篇
  • 二十五.设计模式
    1篇
  • 二十一.TypeScript
    1篇
  • 二十三.Electron
    1篇
  • 十九.React-Native
    5篇
  • 二十二.SSR
    2篇
  • 七.H5C3新特性
    5篇
  • 六.ajax
    4篇
  • 五.JQuery
    4篇
  • 四.WebAPI
    4篇
  • 三.JavaScript
    59篇
  • 二.CSS
    6篇
  • 一.HTML
    2篇
  • 八.web移动开发
    8篇
  • 九.电商全端
    4篇
  • 十.我遇到的bug总结
    1篇
  • 十一.node
    7篇
  • 十二.vue
    60篇
  • 十三.微信小程序
    8篇
  • 十四.面试题
    24篇
  • 十五.网站优化
    3篇
  • 十六.工具
    16篇
  • 十七.React
    23篇
  • 十八.Flutter
    10篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jsreact.jses6webpackxhtml前端框架
  • 后端
    node.js
  • 移动开发
    flutter
  • 网络
    https
  • 微软技术
    typescript
  • 小程序
    小程序
  • 职场和发展
    面试
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

flutter封装自定义打印信息

创建log.dart文件,里面代码如下:void myLog(Object message, StackTrace current) { CustomTrace programInfo = CustomTrace(current); print("所在文件: ${programInfo.fileName}, 所在行: ${programInfo.lineNumber}, 打印信息: $message");}class CustomTrace { final StackTrace _tra
原创
发布博客 2021.01.31 ·
424 阅读 ·
0 点赞 ·
0 评论

Vue函数式组件来防抖

前言看过源码发现,我们常用的和就是一个高阶(抽象)组件。export default { name: 'keep-alive', abstract: true, ...}所有的高阶(抽象)组件是通过定义abstract选项来声明的。高阶(抽象)组件不渲染真实DOM。 一个常规的抽象组件是这么写的:import { xxx } from 'xxx'const A = () => { .....}export default { name: 'xxx',
原创
发布博客 2021.01.30 ·
164 阅读 ·
0 点赞 ·
0 评论

优化:一次性全局组件注册

需要使用组件的场景:<template> <BaseInput v-model="searchText" @keydown.enter="search"/> <BaseButton @click="search"> <BaseIcon name="search"/> </BaseButton></template><script> import BaseButton
原创
发布博客 2021.01.29 ·
59 阅读 ·
0 点赞 ·
0 评论

项目中优雅的使用svg

搭建环境获取图标我们使用vue-cli3搭建项目,怎么样才算优雅?首先我们在src目录下新建icons/文件夹,在icons/文件夹下建svg/文件夹,将来我们项目中的svg图标都会统一放在这里,去阿里图标库下载svg图标点击svg下载到icons/svg目录下修改文件名为qq.svg,或者是在icons/svg目录下新建一个qq.svg文件,把复制的svg代码放进去也可以,这样就获取到了一个图标,很easy.处理svg图标ue-cli对svg文件有默认的url-loader 处理,我们要使用s
原创
发布博客 2021.01.29 ·
308 阅读 ·
0 点赞 ·
1 评论

JS数据结构之队列(Queue)

特点:先进先出(也叫FIFO:First In First Out)结构图:这跟我们生活中的排队吃饭很像:谁先排在前面,谁享受吃饭 !
原创
发布博客 2021.02.20 ·
158 阅读 ·
0 点赞 ·
0 评论

JS数据结构之栈(Stack)

Stack特点:先进后出(也叫LIFO:last in first out)结构图:栈常见的操作:push(element):添加一个新元素到栈顶位置;pop():移除栈顶的元素,同时返回被移除的元素;peek():返回栈顶的元素,不对栈做任何修改(该方法不会移除栈顶的元素,仅仅返回它);isEmpty():如果栈里没有任何元素就返回true,否则返回false;size():返回栈里的元素个数。这个方法和数组的length属性类似;toString():将栈结构的内容以字符串的形式返
原创
发布博客 2021.01.05 ·
455 阅读 ·
0 点赞 ·
0 评论

优雅的导出请求接口

不知道大伙是如何定义请求接口的,就我目前这个项目而言,是这么做的:// api.jsimport http from './config/httpServer.js' /* 登入页面获取公钥 */export const getPublicKey = (data) => { return http({ url: '/userGateway/user/getPublicKey' }, data)}// 用户登录export const login = data => {
原创
发布博客 2020.12.19 ·
273 阅读 ·
1 点赞 ·
1 评论

Vue自定义全部插件

在某些情况下,我们封装的内容可能不需要使用者对其内部代码结构进行了解,其只需要熟悉我们提供出来的相应方法和 api 即可,这需要我们更系统性的将公用部分逻辑封装成插件,来为项目添加全局功能,比如常见的 loading 功能、弹框功能等。开发 Vue 的插件应该暴露一个 install 方法。这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象。可以通过如下4种方式来自定义插件:MyPlugin.install = function (Vue, options) { // 1. 添加
原创
发布博客 2020.12.19 ·
114 阅读 ·
0 点赞 ·
1 评论

前端设计模式

工厂模式工厂模式是 js 中最常用的一种用于创建对象的设计模式,其核心就是将逻辑封装在一个函数中不暴露创建对象的具体逻辑.es5写法 const Person = function () { const [name, age, sex] = [...arguments]; this.name = name; this.age = age; this.sex = sex; this.sayName = () => { console.log(`
原创
发布博客 2020.12.18 ·
138 阅读 ·
2 点赞 ·
0 评论

前端排序算法

冒泡排序 function bubbleSort(arr) { for (var i = 0; i < arr.length - 1; i++) {//只需要循环length-1次即可 for (var j = 0; j < arr.length - i - 1; j++) {//优化:去除外循环第二轮开始后面已经排好的序 if (arr[j] > arr[j + 1]) { [arr[j + 1], arr[j]] = [arr
原创
发布博客 2020.12.17 ·
86 阅读 ·
0 点赞 ·
0 评论

超实用的全局Vue自定义指令

Vue 自定义指令在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册自定义指令。它的作用价值在于当开发人员在某些场景下需要对普通 DOM 元素进行操作。Vue 自定义指令有全局注册和局部注册两种方式。先来看看注册全局指令的方式,通过 Vue.directive( id, [definition] ) 方式注册全局指令。然后在入口文件中进行 Vue.use() 调用。批量注册的方法新建 directives/index.js 文件import cop
原创
发布博客 2020.12.17 ·
1052 阅读 ·
3 点赞 ·
1 评论

前端查找算法

查找算法顺序搜索 // 顺序搜索 let arr = [5, 4, 3, 2, 1] let target = 3 function sequentialSearch(arr, target) { for (let i = 0; i < arr.length; i++) { if (arr[i] === target) { return i } } return -1 } console.log(sequen
原创
发布博客 2020.12.13 ·
212 阅读 ·
0 点赞 ·
0 评论

dart原生请求

系统内置库请求方式:import 'dart:io'; //内含HttpClient函数import 'dart:convert'; //带utf-8内置对象void main() async { var result = await getDataFromZhihuAPI(); print("$result 请求结果");}//api接口: http://news-at.zhihu.com/api/3/stories/latestgetDataFromZhihuAPI() asy
原创
发布博客 2020.12.08 ·
88 阅读 ·
0 点赞 ·
0 评论

hooks中useEffect()使用总结

常见使用:获取数据案例:import React, { useState, useEffect } from 'react';import axios from 'axios';function App() { const [data, setData] = useState({ hits: [] }); useEffect(() => { const fetchData = async () => { const result = await axios
原创
发布博客 2020.11.26 ·
28427 阅读 ·
22 点赞 ·
4 评论

在项目中全局自动加载默认图的技巧

1.在main.js中引入@/utils/event.js2.在event.js中,添加error事件// error 事件window.addEventListener( 'error', (e) => { if (e.target.tagName && e.target.tagName.toUpperCase() === 'IMG') { e.target.src = require('@/images/global_default_org.pn
原创
发布博客 2020.11.25 ·
81 阅读 ·
0 点赞 ·
0 评论

dart总结(四.泛型详解)

前言没有泛型时:不同的类型检查要写多个方法String getDetail(String value){ return value;}int getDetail2(int value){ return value;}void main (){ print(getDetail("aa"));//aa print(getDetail2(22));//22}使用泛型// 好处:可以复用,减少冗余T getData (T value){//3个T依次表示:返回类型,运行时类
原创
发布博客 2020.07.29 ·
616 阅读 ·
0 点赞 ·
0 评论

dart总结(三.类,接口,继承,多态,mixins和枚举详解)

ObjectDart中所有的东西都是对象,所有的对象都继承自Object类.普通类的声明特点:用new关键字实例化 class Class01{ //变量 int a; String b; var c=3; //函数 void fun01(int d){ } String fun2(){ return b; } }void main(){//记住练习类要在main函数外面创建,里面会报错 var cla
原创
发布博客 2020.07.28 ·
418 阅读 ·
0 点赞 ·
0 评论

dart总结(二.函数,闭包和递归详解)

main函数特殊的函数,是程序的入口.void main(){ .....}函数的声明 //指定返回值 函数名 参数 函数体 void test11(){ print('aa'); } //不指定返回值 也可以 test12(num a){ print('bb $a'); } //不指定返回值 也可以 test15(String c){ return c+c; } //如果函数体 只有一个表达式 可以用箭头函数形式 t
原创
发布博客 2020.07.21 ·
385 阅读 ·
0 点赞 ·
0 评论

dart总结(一.List,Set,Map集合类型详解)

List(声明,属性和方法)List声明初始时没有赋值情况var list1=List();//不限长度,类型和可添加任意类型的数组print(list1);//[]var list2=List(2);//限定了长度为2print(list2);//[null,null]print(list2.length);//2初始时直接赋值情况// 同类型赋值:限定类型和长度var list3=[1,2,3];//限定了类型int,并且长度为3// list3[2]='7';//报错,初始
原创
发布博客 2020.07.21 ·
3168 阅读 ·
3 点赞 ·
0 评论

flutter从零开发完整好客租房App(已完结)

好客租房实现效果:项目完整地址(已开源)https://github.com/huanggengzhong/GoodHouse中间经历过96次commit记录,根据commit可以回退到各个阶段,以便查看那时的代码.练习 dart 语言的插件下载安装dart sdk(网址:http://www.cndartlang.com/920.html),下载vscode插件(code runner),dart 文件右键运行即可.开始项目创建项目【菜单】— 【查看】—【命令面板】— 【Flutte
原创
发布博客 2020.07.19 ·
2357 阅读 ·
3 点赞 ·
7 评论
加载更多