官网api: https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.getUpdateManager.html app.js 123456789101112131415161718192021222324252627282930onShow : function() { this.checkForUpdate()},// 检查版本更新checkForUpdate(){ wx.getUpdateManager().onCheckForUpdate(res => { console.log('请求版本更新信息',res); if (res.hasUpdate) { // 新版本下载成功 wx.getUpdateManager().onUpdateReady(() => { wx.showModal({ title: '更新提示&# ...
(一)将前端 vue 项目部署到 Nginx1、官网下载 nginx 稳定版:http://nginx.org/en/download.html(如下载到 E:\nginx\nginx-1.18.0 目录中) 2、双击运行 nginx,然后通过查看任务管理器,确定 nginx 是否已经执行。 注意:nginx 默认端口号是80,如果端口号被占用,需要修改。 3、将前端 npm run build 打包后的 dist 文件夹复制到 html文件夹中 4、修改 E:\nginx\nginx-1.18.0\conf\nginx.conf 文件 (1)将 #user nobody 修改为 #user root 2)修改 serverroot 默认是 html,这里改为 html/dist ,nginx 会在 dist 文件夹中找到 index.html打开。(如果80端口号被占用,此处将端口号80改为 88或者其他) 修改完成之后,重新启动 nginx。在浏览器中输入 localhost:80 或者 127.0.0.1:80 即可打开项目。
微信小程序版本检查更新官网api: https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.getUpdateManager.html app.js 123456789101112131415161718192021222324252627282930onShow : function() { this.checkForUpdate()},// 检查版本更新checkForUpdate(){ wx.getUpdateManager().onCheckForUpdate(res => { console.log('请求版本更新信息',res); if (res.hasUpdate) { // 新版本下载成功 wx.getUpdateManager().onUpdateReady(() => { wx.showModal({ title: & ...
1.es6的三种方法12345678910111213let arr = [2, 5, 3, 3, 5, 7, 3, 7, 3, 7, 2, 2]// (1)拓展运算符 + new Set 方法let narr1 = [...new Set(arr)]// (2)Array.from + new Set 方法let narr2 = Array.from(new Set(arr))// (3)new Map() + filter方法let myMap = new Map()let narr3 = arr.filter((item) => { return !myMap.has(item) && myMap.set(item, 1)}) 相关es6知识点 new Map() new Set() Array.form() 2.for循环的一种方法1234567// (4)for循环方法let narr2 = []arr.forEach((item) => { if(narr2.indexOf(item) == -1) & ...
react组件的更新机制只对数组进行的一个浅对比,也就是说没有改变它的引用地址,所以我们要改变数组时应该进行一次拷贝。 当数组和对象只有一级时,展开运算符和一些库函数复制方法都是深拷贝 12const arrCopy = arr.slice();const objCopy = Object.assign({},obj) 数组中使用: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556import React, { useEffect, useState } from 'react';const App = () => { const [arr, setArr] = useState([1, 2, 3]); const [value, setValue] = useState(); const change = () => { / ...
??双问号语法,在JavaScript中的意思是,如果??左边的值为null或undefined,则取??右边的值。 12let object;let key = object ?? true;console.log(key); // true
可选链语法object?.attr获取object属性attr前先判断object是否存在,在object后面加上?,这是JavaScript的可选链语法。 1234let object = { attr: value}let value = object?.attr 可选链语句在编译时会被解析为: 1object === null || object === void 0 ? void 0 : object.attr 这句代码的意思是,如果object恒等于null或者undefined时,取值为undefined,否则为object.attr。
先订阅,再发布(理解:隔空对话的感觉)安装第三方库pubsub-js yarn add pubsub-js,利用钩子函数componentDidMount在组件挂载后subscribe()函数进行订阅消息,该行为会返回一个token值,供unsubscribe()取消订阅时使用,根据token取消对应的消息. 安装 npm install pubsub-js yarn add pubsub-js 引入 import pubsub from ‘pubsub-js’; 1234567//订阅 componentDidMount(){ this.token = PubSub.subscribe('usersData',(_,data) => { console.log('订阅消息:',data) this.setState({...data}) }) } publish() 进行发布消息 123 ...
父组件给子组件传值   1. class类组件,父组件在子组件上写入属性,子组件通过this.props.属性名获取值  1. 函数式组件,父组件在子组件上写入属性,子组件需要把props作为组件参数才能使用props 子组件给父组件传值 通过传递回调函数的方式,父组件给子组件传一个回调函数(可带参数),子组件通过this.props.回调函数名,通过调用回调函数,传入参数来传值 一.父组件向子组件传值在父组件中引入子组件,将父组件的state值放到子组件标签中传递,在子组件中用this.props.传值名称,接收 父组件代码:1234567891011121314151617181920import React, { Component } from 'react'import Goods from '../Good/Goods' export default class App extends Component { constructor(){ super() this.state ...
定义:UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,生成全球唯一的一串字符编码。 生成方式:UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID可以被任何人独立创建,并按需发布。 现实使用:由于uuid体积较大,在开发过程中一般使用更加轻量级的nanoid来代替uuid的使用 使用步骤步骤一:安装nanoid包 1npm i nanoid 步骤二:使用 由于引入的nanoid是一个函数,即使用时也用函数的形式 123import {nanoid} from 'nanoid' // 引入nanoid() // 函数调用
公告
博客微信小程序版已上线,同步更新,请扫码浏览。🎉