- 博客(20)
- 收藏
- 关注
原创 解决uniapp中uni.chooseImage选择图片后临时路径转base64
由于 uni.chooseImage 不像 wx.chooseImage提供了直接转为base64的方法,有时候上传后台需要base64格式的图片,那么这时候就需要将临时路径转为base64格式。第一步:安装pathToBase64插件(https://ext.dcloud.net.cn/plugin?id=123) 第二步:引入js并结合 uni.chooseImge 使用import { pathToBase64 } from '../js_sdk/m...
2022-02-14 16:08:56
7338
1
原创 for...in 和 for...of的区别
今天是年前最后一天,然而还在公司上班,简单记录下for...in 和 for...of的区别;首先是对数组的遍历://for...inlet arr = [1,2,3]for(let item in arr) { console.log(item); // 索引 // 0 // 1 // 2}//for...oflet arr = [1,2,3]for(let key of arr) { console.log(key); ...
2022-01-30 09:31:52
1044
原创 react-native安装与卸载第三方依赖
前言:最近再改 react-native 项目,遇到了需要卸载第三方依赖问题,本以为只需要 npm unintsall xxx 就可以卸载,没想到会出问题,然后找了下资料,这儿简单记录一下rn 依赖安装和卸载的方法:安装依赖:正确的安装方式是 npm install xxx --save,经常看到许多组件安装文档上后面没有 --save,如果没有建议加上 否则组件信息不会出现在package.json中,导入组件的时候可能会找不到路径。 安装完成后执行一下 react-na...
2022-01-21 10:47:26
3199
原创 H5 扫描条码、二维码的简易实现(附带nativeObj创建原生对象)
本文主要记录一下 H5 app+ 实现扫码功能,并用plus.nativeObj(官方文档:HTML5+ APL/nativeObj)创建原生控件对象的实现。第一步:通过barcode创建扫码控件(官方文档:HTML5+ API Reference)function openBarcode(dom, dom1, barCodeType, mui) { var barcode = null; // 扫码控件对象 var textResult = ""; // 扫描成功时的结果 ...
2021-12-29 10:46:06
3370
原创 uniapp二次封装slider滑块实现刻度尺设置全局页面字体大小
前言 uniapp没有现成的刻度尺滑块实现调整字体大小的功能,通过找到u-view的slider滑块来实现刻度尺方式设置全局字体大小的二次封装。 总体思路:通过刻度尺的方式选择用户合适的字体效果,上面显示用户调整的字体大小来看效果,设置成功后将 像素值 存入vuex以及本地localstorage,防止下次进入App后字体恢复原样,通过uniapp 提供的 <page-meta>标签的 root-font-size 属性来控制页面根文字大小,页面内容采用r...
2021-12-20 16:17:05
4697
2
原创 uniapp防止ios端页面可以上下拖动方法
首先找到项目根目录下的pages.json文件"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io//pages { "path": "pages/Login/Login", "style": { // "navigationBarTitleText": "登录", "app-plus": { "bounce": "none" }, // 防止ios端上下拖动 "navigati
2021-12-17 11:09:09
6631
1
原创 uniApp使用websocket(自己简单的封装)
data() { return { websock: null };},methods: { initWebSocket() { const url = 'ws://127.0.0.1:8080/home'; this.websock = uni.connectSocket({ url: url, complete: ()=> {} // 由于uni封装,必须加个回调才会返回一个SocketTask对象 }); this.websoc.
2021-12-09 14:46:44
6515
1
原创 react-native 打包app发布android / ios详细教程
发布Android教程第一步:从项目根目录进入到android 目录第二步:使用命令 gradlew clean (mac电脑 ./gradlew clean)清空缓存。注意:mac电脑如果此时无法使用./gradlew命令,在当前命令行输入chmod +x gradlew后,重新 输入 ./gradlew clean 即可。第三步:使用打包命令 gradlew assembleRelease (mac电脑 ./gradlew assembleRelease)。...
2021-10-26 14:19:56
11499
1
原创 手动实现vue2、vue3响应式原理(Object.defineProperty/proxy)
前言“响应式”是指当数据改变后,Vue会通知到使用当前数据的代码,并且更新视图数据。接下来,简单的实现一个vue的响应式。第一步:实现一个对象的响应式// 对象的响应式const info = { name: "chuan", age: 20}// 假如 infoChange() 函数是info对象被修改时而触发的函数function infoChange() { console.log(info.name)}const infoProx...
2021-10-21 15:41:04
520
原创 Xcode新版本打包react-native报错:Unknown argument type ‘__attribute__‘ in method -[RCTAppState getCurrentApp
所遇问题: mac电脑升级Xcode版本后,再次打包react-native时,会报以下错误:Unknown argument type '__attribute__' in method -[RCTAppState getCurrentAppState:error:]. Extend RCTConvert to support this type.解决办法: 在Xcode中找到以下文件项目名/Libraries/React.xcodeproj/Reac...
2021-10-20 10:03:04
412
原创 js面试题(自己的总结)
第一道:用递归实现1-100数字的相加// 用递归实现1-100数字的相加function add(num1, num2) { var num = num1 + num2; if (num2 < 100) { return add(num, num2 + 1) } else { return num }}add(1, 2); // 5050第二道:Object.defineProperty() (对象属性定义)语..
2021-09-10 10:37:22
195
原创 js中this的指向问题
this在js中必不可少,在很多地方都会用到,然而在使用的时候,经常会困扰this到底是指向谁?为什么会指向这个地方?今天根据自己的理解,记录一下this指向的几个规则。默认绑定function foo() { console.log(this); // window}foo();function foo() { console.log(this); // window}function bar() { foo();}bar();c...
2021-09-07 21:54:29
150
原创 理解js闭包
前言首先,我们先看看MDN闭包的描述:一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。闭包的产生通过上面的描述不容易理解,下面我们通过代码来看看闭包在什么时候产生?var message = "Hello JavaScript".
2021-09-06 22:50:59
170
2
原创 mini-vue渲染的简易实现
前言目前的主流框架Vue、React 都是通过Virtual Dom(虚拟Dom)来实现的,通过Virtual Dom技术提高页面的渲染效率。Vue中我们通过在template模板中编写html代码,React中我们通过在内部的一个 render 函数里编写html代码,这个函数通过 jsx 编译后,实际会输出一个h函数,也就是我们的Virtual Dom(虚拟Dom),下面简单来实现一个虚拟dom渲染真实dom,以及更新的方法。目标主要实现以下三个功能:通过h函数返回Vnodes;...
2021-08-06 14:15:13
465
1
原创 Vue3组件通信之$emit和provide/inject
前面我们知道了父组件向子组件传值通过props,接下来我们再总结下子组件传递给父组件。子组件传递给父组件什么情况下子组件需要传递值给父组件呢?当子组件有一些事件发生的时候,而父组件需要更改展示的内容,那么就需要子组件向父组件传递值; 当子组件需要传递一些内容给父组件的时候;比如:父组件跳转时需要子组件的值传递到下一个页面;vue2中的用法(vue3也可以使用):// App.vue<template><div><h2>当前数为:{...
2021-07-28 12:17:24
1595
2
原创 Vue3组件通信之props
前言:在开发工程中,我们经常会遇到组件之间相互进行通信,比如在一个组件内使用多个Button,每个地方的Button展示内容不同,执行方法不同,那么我们就需要该组件传递给Button一些数据,让Button组件进行展示。又比如子组件中发生一些事件,需要由父组件来完成某些操作来修改父组件里的值,那么需要子组件向父组件传递事件以及一些参数。这儿记录一下Vue3 中组件之间通信之props。父子组件之间的通信方式:父组件传递给子组件: 通过 props 属性; 子组件传递给父组件:...
2021-07-27 14:06:04
12528
5
原创 Vue3中key的作用和工作原理
这个key属性有什么作用呢?我们先来看一下官方的解释:key属性主要用在Vue的虚拟DOM diff算法中,在新旧nodes对比时辨识Vnodes; 如果不使用key,Vue会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类型元素的算法 而使用 key 时,它会基于 key 的变化重新排列元素顺序,并且会移除/销毁 key 不存在的元素。先简单提一下我对VNode的理解:VNode的全称是Virtual Node,也就是虚拟节点; Vnode的本质是一个JavaScript的
2021-07-20 14:43:39
2300
1
原创 react-native项目运行环境搭建及遇到的坑
运行react-native项目遇到的坑:一:有时候运行项目的时候,会出现报错,其中包含一些网址,那么说明访问外网的网络不好,需要自己设置代理。二:从公司拉取下来的项目,运行并没有报错,而是一直卡在0%不动,那么是因为下载外网依赖太慢,或者无法翻墙,可以通过拷贝其他电脑已经下载好的.gradle文件即可运行。卡顿情况如下第二张图:安装依赖(Node、JDK、Android Studio)第一步: Node版本必须大于等于12,这个项目的话安装版本是12.13.1,直接使用安装包安装即可
2021-01-20 19:36:11
2835
6
原创 初始HBuilder 如何创建项目
实训第一天,直接接触了Html5,以前有简单的html基础,所以学习h5显得更快,更有效果。老师这次给我们讲的是用H5制作五子棋小游戏,通过写html代码来实现这个小游戏,另外见识了菜鸟教程,里面也有许多html5知识,今天了解了大概的程序过程,在接下来的4天,可以通过老师的讲解,菜鸟教程的帮助,能够成功完成这次实训,并取得更好的成果。通过这次实训来提升自己写代码的能力,也为以后编写代码奠定基础。
2017-07-03 19:43:14
1436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人