Ionic3使用InAppBrowser进行数据交互

Ionic在使用过程中如果使用ThemeableBrowser或者InAppBrowser进行数据交互时,两个插件都存在一定的问题。ThemeableBrowser fork自InAppBrowser,ThemeableBrowser提供了全新的主题匹配,但是由于插件长时间未更新,在数据交互时存在一定的问题,但是...

JavaScript Event Loop

2021年11月更新 浏览器进程以目前的多进程浏览器Chrome为例 浏览器进程(Browser进程) 渲染器进程 GPU进程 网络进程 插件进程 缓存进程 其中渲染进程(Renderer)包含以下线程 主线程 合成器线程(Compositor) 光栅线程(Raster) 工作线程(Worker) 渲染...

Ngxs使用总结

1.Ngxs在介绍Ngxs之前我们先来了解一下另外一个在Angular项目中用于做状态管理的解决方案;Ngrx,Ngrx的设计灵感来源于Redux,并且使用Rxjs来实现.但是由于Ngrx过于臃肿,在本就庞大的Angular中引入这么一套方案,确实不是很合理,所以就有人在Ngrx的基础上做了减法,诞生了Ngxs....

Angular使用web3时出现Can't Resolve 'Crypto' 报错的解决方法

当我们在Angular中引入web3时,由于Angular-cli的限制,会出现Can’t Resolve ‘Crypto’这个报错信息.但是浏览器确实有加密支持的 https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto 官方开发团队给出的解释...

ES6,ES7,ES8小结(持续更新)

ES6新特性(2015)1. 数值的扩展 Number.isFinite() 用来检查一个数值是否为有限的(finite);如果参数类型不是数值,Number.isFinite一律返回false。 Number.isFinite(15); // trueNumber.isFinite(NaN); // fals...

Angular6实现HMR(热模块替换)

热模块替换(HMR)是一种WebPack功能,用于更新正在运行的应用程序中的代码而无需重建它。这样可以加快更新速度并减少整页重新加载。 为了让HMR使用Angular CLI,我们首先需要添加一个新环境并启用它。 1.HMR添加依赖项并配置app 安装hmr依赖环境 $ npm install --save-d...

浏览器渲染原理

发送&接收信息浏览器进程的UI线程捕获输入内容(网址),并启动网络线程进行DNS域名解析获取内容;网络线程准备好数据后通知UI线程进行下一步处理,之后UI线程会启动一个渲染进程并通过IPC管道将数据发送给它 解析HTML当数据从UI线程发送到渲染器进程后,渲染器的主线程开始工作,渲染器进程内部包含主线程...

Ionic3中懒加载的注意事项

在ionic3中,官方给出了使用懒加载来提升性能的解决方案,如果你的项目过于庞大,官方也给出了脚本用于你的懒加载. 1.为页面创建模块并使用IonicPage使用Ionic 2,我们为每个页面提供了一个文件夹,其中包含3个文件,如下图所示。 在每个文件夹中,我们需要创建一个NAME.module.ts类型的新文...

Angular中操作DOM时的注意事项

Angular2实际在使用过程中,有时候需要直接引用DOM中的一个元素,习惯上我们经常通过ID来获取DOM元素,但是在模块化编程中,这样操作会很大程度上会污染我们的全局HTML代码,而且随着项目的变大而不受控制.所以在angular中我们可以采取以下的方法来解决这个问题 <div #myDiv>&l...

RxJs中的的Subject

Subject的分类Subject包含四种类型,BehaviorSubject,AsyncSubject,ReplaySubject,Subject BehaviorSubject Observer会接收到BehaviorSubject被订阅之前的最后一个数据,再接收订阅之后发射过来的数据。如果BehaviorS...