初始化蓝牙使用蓝牙之前,首先要先初始化蓝牙(openBluetoothAdapter),之后才能调用蓝牙的各种api。初始化状态分为两种: 初始化成功:这时可以去搜索蓝牙设备(startBluetoothDevicesDiscovery)。 初始化失败:这个时候需要提示用户打开蓝牙,同时监听蓝牙的状态(onBluetoothAdapterStateChange),当蓝牙打开时,去搜索设备。 op
一、父组件给子组件传值:prop1、父组件部分:在调用子组件的时候,使用 v-bind 将 msg 的值绑定到子组件上:parentMsg=“msg”<child-component :parentMsg="msg"></child-component>//引入子组件 import childComponent form '@component/childComponen
Promise 对象含义: Promise是异步编程的一种解决方案,优点: 相比传统回调函数和事件更加合理和优雅,Promise是链式编程,有效的解决了令人头痛的回调地狱问题,Promise的结果有成功和失败两种状态,只有异步操作的结果,可以决定当前是哪一种状态,外界的任何操作都无法改变这个状态基本用法: //ES6 规定,Promise对象是一个构造函数,用来生成Promise实例。
配置操作全局配置对全局用户的所有仓库有效(最常用) git config --global user.name '你的名字' git config --global user.email '你的邮箱' 对当前仓库用户有效(不常用) git config --local user.name '你的名字' git config --local user.email '你的邮箱' 对系统所有用户
传统解决方案通常通过比较元素的 scrollWidth 与 clientWidth 来判断文本是否被截断。此外,我们可以使用 Range 的方式更精确地判断文本是否被截断。overflow: hidden 在布局上会将文本进行截断,但是双击全选复制的时候,可以复制到全部的内容。因此我们可以基于此特性,通过 浏览器提供的 Range api 获取 文本的宽度/高度进行判断。const app = d
前言字典即 hash 表是很多语言都有的数据结构,例如 Java 中的 HashMap。字典在日常开发中具有广泛的应用,并且是 Redis 服务的基石,在 Redis 数据库的实现、发布订阅、键值过期等场景有很重要的应用。本文从源码层面介绍 Redis 的结构与操作,深入理解其内部原理。字典结构struct dict { //保存当前字典的 hash 函数、key 比较函数等信息
在前端项目中,有时会有后台返回一个时间戳,页面展示却是普通的日期格式,针对这种情况有很多种解决的办法, 最常见的就是组件库中自带的日期组件,可以将时间戳自动转换成普通时间格式。本篇文章将展示在不需要日期组件的时候就怎么 使用原生的方法去进行转化。代码如下: timeChange(UTCDateString) { if (!UT
算法随笔-数据结构(栈)本文主要介绍数据结构中的栈的特点、使用场景、ES6实现Stack类和题解leetCode真题。供自己以后查漏补缺,也欢迎同道朋友交流学习。引言栈这个名字对开发者来说不应该陌生,我们经常说调用栈、堆栈等术语,指的就是数据结构-栈。栈是一种非常基础的数据结构,在计算机科学和软件开发的许多领域中都有广泛的应用。栈(Stack)是一种遵循后进先出(LIFO,Last In Firs
针对不同设备的适配问题,用了两种常见的解决方案:有pc端UI,但无移动端,移动端适配自己排版,这种情况下我采用的是媒体查询,通过@media实现一套html配合多套css实现适配有完整的移动端UI,我通过rem实现的不同设备相同比例的适配首先是媒体查询(更多用法可见MDN):/*媒体查询的基本语法,这句代码的意思是当屏幕的最小宽度是900px的时候,使用以下的css*/ @media screen
一、前言在鸿蒙OS开发过程中,随着应用规模的扩大,登录状态管理逐渐成为系统设计中的一个挑战。一个清晰、高效的登录状态管理系统不仅可以简化开发流程,还能提升用户体验。本文将分享一种优雅的登录状态管理设计方案,帮助开发者轻松应对复杂系统中的登录状态控制。二、认证事件与认证代码设计认证事件是应用全局事件的核心,它触发登录或退出操作,并可在整个项目中进行广播。我们定义了三种基本的认证事件:启动认证、登录认
在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。例如希望交换两个变量的值,这两个变量有多种类型,可以是 int、float、char、bool 等,我们需要通过参数把变量的地址传入函数内部。在C语言中,程序员往往需要分别设计出三个不同名的函数,其函数原型与下面类似:void swap1(int *a, int *b); //交换 int 变量的值 void
一、es6相关有let、const、变量的结构赋值、模板字符串``对象的简化写法:let name = 'aaa'; let change = function() { console.log('jjj');} const school = {name. change}箭头函数以及声明特点,特点有以下this是静态的,this始终指向函数声明时所在作用域下this的值,call和apply
前言Proxy是ES6引入的一个元编程特性,它允许你创建一个代理对象,用于拦截并自定义 JavaScript 对象的基本操作。通过代理对象,你可以拦截并重定义对象的基本操作,比如属性查找、赋值、枚举等。Proxy的核心思想是在目标对象和代码之间建立一个拦截层,使得可以对目标对象的操作进行拦截和监视。创建Proxy对象创建Proxy对象的基本语法如下:let proxy = new Proxy(ta
在 TypeScript 中,enum 关键字提供了一种定义一组命名常量的方式,这些常量可以作为类型或值使用。枚举最早在 TypeScript 的第一个版本中引入,虽然它们还没有被添加到 JavaScript 中,但它们在 TypeScript 中作为一个独有的运行时特性,展现了强大的功能和一些有趣的行为。枚举特别适用于定义一组有限的、稳定的常量值,帮助开发者编写更加清晰和易于维护的代码。数值枚举
前言在软件开发中,有时我们希望某个类在系统中只存在一个实例,且能够被整个应用程序共享。例如,在一个大型系统中,如果每次访问某个资源都需要创建一个新的实例,不仅会浪费系统资源,还可能导致意想不到的问题。单例模式正是为了解决这个问题而设计的。特点:只有一个实例,全局都可以访问该实例避免重复创建,减少内存占用。简单版闭包实现var SingleTon = (function () { var ins
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号