记Taro开发中遇到的一些问题
关于 H5 端常见问题与解决方案版本 v3.2.8
API 部分
Taro.switchTab
官方定义:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,实际使用:并未关闭其他已经打开过的非 tabBar 页面
Taro.reLaunch
官方定义:关闭所有页面,打开到应用内的某个页面 实际使用:没有关闭所有页面,只关闭所有非 tabbar 页面
由于 switchTab 未能关闭非 tabbar 页面导致经常出现多页面共存 bug,样式混乱,所以开发中 h5 端使用 reLaunch 代替 switchTab
Taro.getCurrentPages
getCurrentPages().router 有时候获取不到页面参数,使用 useRouter 代替
Taro.pageScrollTo
调用无响应,多半是调用时机过早,加个定时器延时就可以
Taro.previewImage
官方定义: 在新页面中全屏预览图片。实际使用 h5 并没有在新页面打开预览,只是以弹窗形式预览
产品如果需要点击物理返回或者浏览器返回无法返回当前页面,h5 ...
初窥React-Native
React Native 简述Facebook 在 2015 年就开源了 React Native,目前仍然一直再维护和使用中,核心为使用 React技术栈 来创建 Android 和 iOS 的原生应用,将 React 基础抽象组件渲染为原生平台 UI 组件
React Native 采用了 JavaScriptCore 作为 JS VM,中间通过 JSON 文件与 Bridge 进行通信,其实也是 Hybrid 的一种
流程:React => JavaScriptCore => Native
中间层涉及到的
Fabric:React Native 的 UI 层重构
TurboModules:与 React Native Modules 相关,基于 JSI
JSI:JavaScript 与 Java/ObjeC/C++ 相互调用的一种机制
优势
热重载
热重载允许开发人员将新代码直接注入正在运行的应用程序中,从而加快了开发过程。因此,开发人员可以立即看到更改,而无需重建应用程序。 热重载还[保留了应用程序的状态],避免了在完全重载期间丢失它的风险(在基于状态的框架中这 ...
Vue 3.x 入门笔记
前言1、Vue.js 目前最火的的一个前端框架,三大主流前端框架之一。2、Vue.js 是一套构建用户界面的框架(一套完整的解决方案,对项目侵入性大,中途需要跟换框架则需要重构整个项目),只关注视图层,易上手,有配套的第三方类库。3、提高开发效率,帮助减少不必要的 dom 操作;双向数据绑定,通过框架提供的指令,前端只需要关注业务逻辑,不再关心 dom 如何渲染。
跑个 demo123456789101112<div id="counter">Counter: {{ counter }}</div>;const Counter = { data() { return { counter: 0, }; },};// 2.xnew Vue(Counter).$mount('#counter');// 3.xVue.createApp(Counter).mount('#counter' ...
vue-router源码了解一下
突然今天想了想,你自己天天用的 vue-router 到底是个啥?这个插件实现的方案是什么?
以前开发没有前后端分离,前端只做 UI 然后拿去服务器端去做模板渲染,路由这个概念也就是从后台过来的,简单来说就是定位页面 URL 用的,现在分离开发比较流行 单页应用(SPA),大型单页应用最显著特点之一就是采用前端路由系统,通过改变 URL,在不重新请求页面的情况下,更新页面视图。
路由模式目前浏览器中可以实现这种功能的大概有两种方法
hash 利用 URL 中的 hash(“#”)
histroy 利用 History interface 在 HTML5 中新增的方法
下面我们找到 vue-router 源码看看具体他是用的什么方案
源码地址:https://github.com/vuejs/vue-router/blob/dev/src/index.js
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647export default class VueRo ...
git日常操作
目前在我工作中用到的版本控制工具有 SVN 和 Git,代码开发主要以 Git 为主,Git 的命令有很多不过只是常规操作也就那么 6 个,但是要熟练使用那就需要记住很多命令了
Git 操作流中的专业术语,简单解释一下
Workspace:工作区
Index / Stage:暂存区 (add 操作后放置的地方)
Repository:仓库区(或本地仓库执行 commit 操作后保存到的地方)
Remote:远程仓库(线上仓库)
以下我们就从头开始收集一下常用的开发命令
创建新仓库12345678# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]
配置Git 的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
123456789# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# ...
敢死队2-HDTC中英字在线观看
推荐指数 :💛💛💛💛💛💛💛
标题:
主演:
导演:
上映年代:
敢死队 2
西尔维斯特·史泰龙,杰森·斯坦森,李连杰,余男,查克·诺瑞斯
西蒙·韦斯特
2012
介绍再次经历了一番炮火密集的血雨腥风,巴尼(西尔维斯特·史泰龙 Sylvester Stallone 饰)、圣诞(杰森·斯坦森 Jason Statham 饰)、贡纳(杜夫·龙格尔 Dolph Lundgren 饰)、比利(利亚姆·海姆斯沃斯 Liam Hemsworth 饰)、收费公路(兰迪·库卓 Randy Couture 饰)和凯撒(泰瑞·克鲁斯 Terry Crews 饰)这几个敢死队的铁哥们正享受大战之后的难得惬意可是好景不长,某晚教堂(布鲁斯·威利斯 Bruce Willis 饰)找上门来,迫令他前往阿尔巴尼亚噶扎克山区找一架被击落飞机上的保险箱,并确保箱子不会落入敌人之手,教堂还委派麦琪·张(余男 饰)与这群硬汉同行。
看似简单的任务实则充满凶险,比利被对手残忍杀害。这已不再是一项任务,而是一场关乎战士们友情与荣誉的战争……
在线直播
HD1080P 中字(普通话版)HD ...
了解一些HTTP协议相关知识
什么是 HTTP?
HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80
HTTP 是无连接无状态的
互联网分层模型
其实网络分层模式标准有很多,各大厂商有自己的标准但是为了提升标准化,提供兼容性。国际标准化组织 ISO 提出来一套标准的基础分层模式 OSI(Open System Interconnection Reference Model,开放系统互连参考模型)
物理层: 在设备之间传输比特流,规定了电平、速度和电缆针脚。
数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用 MAC 地址)来访问介质,并进行差错检测。
网络层:提供逻辑地址,供路由器确定路径。
传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
应用层:OSI 参考模型中最靠近用户的一层,为应用程序提供网络服务 ...
你能简单谈谈什么是 vue 的响应式更新?
现在面试官随随便便都会问一句:请简单说一下 vue 的响应式原理是如何实现的?答:使用 ES5 的Object.defineProperty!地球人都知道再问:那你能简单的讲一下具体的实现流程吗?答:。。。。。(好像知道但是好像又张嘴说不上来 😆 尴哩个尬)
看十遍不如上手做一遍,赶紧动手跟我撸一遍试试,免得再面试又被打脸。
第一步先熟悉 Object.definePropertyObject.defineProperty方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象,先来看一下它的语法:
1Object.defineProperty(obj, prop, descriptor);
obj 是要在其上定义属性的对象;prop 是要定义的属性或者修改的名称;descriptor 是将被定义或者修改的属性描述符
比较核心的是 descriptor,它有很多可选键值。这里我们最关心的是 get 和 set,get 是一个给属性提供的 getter 方法,当我们访问了该属性的时候会触发 getter 方法;set 是一个给属性提供的 setter 方 ...
理解RESTful没有那么难
什么是 RESTful ?
rest 不是重置哈,它标识缩写Representational State Transfer(表述性状态转移),这太学术了我也不懂了,简单来说 RESTful 不是一种新技术,而是一种规范,对应应用程序交互,也就是我们平时接触最多的接口 API 定制规则,为的是让 API 理解更加直观,明了,规范,可以实现客户端无需借助任何文档即能调用到所有的服务器资源。一般服务端设计接口不遵守规范的话可能是这样的:
1234api/getGoods?id=xxx GETapi/setUGoods POSTapi/updateGoods POSTapi/deleteGoods?id=xxx GET/POST
这样的其实具体用什么get,post都一样没什么区别的,当然我们具体操作必须查看文档,你也无法推断出删除商品人家是 delGoods 还是 deleteGoods 还是其他,这完全取决于你后端老大的心情,而且但凡这类存在增删改查的接口都起码 4 个接口,而且接口的请求方式也是没有具体要求的,也是必须按照文档去一一比对如果我们按照 RESTful 规范出接口会是什么 ...
微信小程序云开发初体验
云开发简单来说是配合微信小程序开发的一个弱后后端逻辑的一个东西,就是你不需要要再招一个 PHP,go,Java 这些程序员,前端就可以搞的,当然前端也需要一定的入门,需要了解非关系数据库中的集合,字段查询等等
了解云开发云开发提供了 4 大块云端能力
能力
作用
说明
云函数
无需自建服务器
在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码
数据库
无需自建数据库
一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库
存储
无需自建存储和 CDN
在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理
云调用
原生微信服务集成
基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力
配置云开发环境基本配置官方介绍的十分详细,建议尽量看官方文章教程入口
以下是我尝试开发的租房小小管家的云开发目录配置,初始化生成的文件我都删掉了,里面这个五个目录都是新增的每个云函数都需要调用wx-server-sdk这个包,注意需要安装一遍npm install 再全部上传云端,后面就不需要选择全部上传(包含 ...