Vue注册的全局组件配置对象保存的位置

2022-05-09
阅读 1 分钟
2.1k
有时候你想给Vue一些组件库新增一些补丁功能或者修改功能,这些库如果像ElementUI一样有暴露到全局的api,还容易运行时篡改,如果没有暴露到全局上但有注册成全局组件,但是你又不想去库的源代码,怎么办呢?其实我们可以在运行时动态去篡改或者新增一些功能,这个时候我们需要访问这些组件的配置对象

线性代数在前端中的应用(二):实现鼠标拖拽旋转元素、Canvas图形

2022-03-12
阅读 12 分钟
3.6k
看到文章标题,很多同学可能会疑惑,实现元素的旋转,只需要求得旋转角度,然后用CSS中的transform:rotate(${旋转的角度}deg)就可以实现旋转的需求,为什么要用到线性代数的知识?
封面图

线性代数在前端中的应用(一):实现鼠标滚轮缩放元素、Canvas图片和拖拽

2022-02-22
阅读 16 分钟
5.9k
在前端开发中,有些时候会遇到根据鼠标当前位置为原点,滚动滚轮实现图片、canvas、DOM元素缩放的需求。有些同学可能觉得有点难,但其实借助线性代数中的矩阵运算,可以非常容易地实现这一功能,更重要的是,数学作为一门学科,具有通用性,与具体的编程语言和环境无关,掌握好原理便可以实现通用性。
封面图

我逆向工程zone.js后的发现

2019-09-01
阅读 11 分钟
6.6k
原文链接:[链接] 作者:Max Koretskyi aka Wizard 翻者:而井 Zones是一种可以帮助开发者在多个异步操作之间进行逻辑连接的新机制。通过一个zone,将相关联的每一个异步操作关联起来是Zones运行的方式。开发者可以从中获益: 将数据与zone相关联,(使得)在zone中的任何异步操作都可以访问到(这些数据),在其他语言中...

教你如何在@ViewChild查询之前获取ViewContainerRef

2018-12-26
阅读 4 分钟
2.7k
在我最新的一篇关于动态组件实例化的文章《在Angular中关于动态组件你所需要知道的》中,我已经展示了如何将一个子组件动态地添加到父组件中的方法。所有动态的组件通过使用ViewContainerRef的引用被插入到指定的位置。这个引用通过指定一些模版引用变量来获得,然后在组件中使用类似ViewChild的查询来获取它(模版引用...

理解Angular2中的ViewContainerRef

2018-12-26
阅读 3 分钟
6.8k
原文链接:[链接]作者:Netanel Basal译者:而井 译者注:虽然文章标题写的是Angular2,但其实泛指的是Angular2+,读者可以将其运用到最新的Angular版本中。 如果你曾经需要用编程的方式来插入新的组件或模版,你可能已经用过了ViewContainerRef服务了。 在阅读了(许多)文章和问题后,我发现了许多(人)对于ViewConta...

【教程】(Angular)模版引用变量的魔法

2018-12-25
阅读 3 分钟
6.6k
模版引用变量是个好东西,它允许Angular完成许多有用的事情。我经常称这个功能为“井号语法”,因为在模版中它依赖一个简单的井号来创建对一个元素(译者注:元素包括HTML元素和组件元素)的引用:

在Angular中操作DOM:意料之外的结果及优化技术

2018-12-23
阅读 6 分钟
4.3k
我最近在NgConf的一个研讨会上讨论了Angular中的高级DOM操作的话题。我从基础知识开始讲起,例如使用模版引用和DOM查询来访问DOM元素,一直谈到了使用视图容器来动态渲染模版和组件。如果你还没有看过这个演讲,我鼓励你去看看。通过一系列的实践,你将可以快速地学会新知识,并加强认知。关于这个话题,我在NgViking 也...

关于ES模块你必须要知道的一些禁忌(一)

2018-12-20
阅读 5 分钟
2.1k
ES Module是JavaScript在ES2015版本开始提供的语言标准级别的模块化方案,在此之前JavaScript一直没有语言级别的模块化体系。没有模块化的支持,使用JavaScript开发大型应用将举步维艰,所以经过大量的实践,社区制定了一些模块加载方案,最主要的有运行于浏览器的AMD方案和运行于以Nodejs为代表的服务端的CommonJS方案。

教你如何解决IE9的输入框input事件无法监听右键菜单的剪切、撤销、删除对内容的改变的问题

2018-12-14
阅读 1 分钟
3.1k
看Vue源代码内置指令时,发现了Vue对于IE9的selectionchange事件做了特殊处理,这引起了我的兴趣。原来Vue对全局的selectionchange事件进行监听,一旦发现就会尝试触发document.activeElement当前文档激活对象的input事件。具体代码如下:

而井教你判断当前Javascript运行环境是否支持async函数

2018-12-14
阅读 2 分钟
2.5k
npm上其实已经有了一个库用来判断运行时是否支持async/await了,叫is-async-supported,但是因为依赖着nodejs平台的vm内置库,无法运行在非nodejs平台。以下是它的代码:

【速记】获取当前正在运行的js脚本的地址与HTMLScriptElement.prototype.readyState

2018-12-04
阅读 2 分钟
4.3k
在阅读layUI的源代码关于加载远程脚本的代码中出现了判断当前js脚本地址的代码,其中出现了对于document.currentScript支持与不支持时,会走不同的逻辑。如果支持document.currentScript,直接从document.currentScript.src获取当前脚本运行的地址;如果不支持document.currentScript,则遍历文档所有的<script>标...

【速记】如何用一行代码将驼峰风格的字符串转化成中划线风格的字符串

2018-11-28
阅读 2 分钟
1.7k
今天在阅读snabbdom(一个Virtual DOM 库)的关于处理元素自定义属性的时候,发现了将驼峰风格的字符串转化成中划线风格的字符串的技巧,以方便根据dataset来移除实际DOM元素对应的attribute,至于DOM对象的dataset和HTML自定义属性的对应规则,你可以阅读这边文档:[链接]

【速记】如何在老IE浏览器上将字符串解析成DOM对象

2018-11-28
阅读 1 分钟
1.7k
今天在查看Pentaho的CDE组件代码时发现了利用ActiveXObject对象将字符串成DOM对象的代码,其中涉及到如何在不支持DOMParserAPI的浏览器中将字符串解析成DOM对象的兼容技术。具体代码如下:

【速记】React解决IE浏览器svg标签不支持innerHTML操作的问题及相关拓展知识

2018-11-26
阅读 3 分钟
2.6k
文件:packages/react-dom/src/shared/createMicrosoftUnsafeLocalFunction.js

【速记】借助ES6的模版字符串,在不用Babel插件的情况下实现一个轻量级类JSX功能

2018-11-26
阅读 5 分钟
3.6k
Preact 的作者创建的利用字符串标签模版实现的类JSX的库,可以将标签模版的类JSX字符串转化成类React.createElement或h函数(用来创建 virtual DOM对象的函数): [链接]

有关DOM Event事件和自定义Event相关文档文章介绍速记

2018-11-25
阅读 5 分钟
2.3k
搞清Event.currentTarget、Event.target、Event.srcElement之间的关系 Event.currentTarget: [链接] Event.target: [链接] Event.srcElement: [链接] Event.currentTarget指的事件绑定时的DOM对象; Event.target指的事件发生所在的DOM对象,例如你的把事件可以绑在父元素上,点击子元素,此时Event.currentTarget指...

教你如何检查一个函数是否为JavaScript运行时环境内建函数

2018-04-07
阅读 2 分钟
2.6k
在开发过程中,对于某些API在现有的JavaScript运行时环境不支持的时候,我们大都会采用加入polyfill来解决这个问题。但有些时候我们可能需要知道现在某个API到底是否为运行时环境所原生支持,还是polyfill代码支持的。今天在学习Vue 2.X版本的源代码时,就发现了Vue中也有用来检测一个函数是否为运行时原生支持。