平时写CSS,感觉有很多多余的代码或者不好实现的方法,于是有了预处理器的解决方案,主旨是write less &do more。其实原生css中,用上css变量也不差,加上bem命名规则只要嵌套不深也能和less、sass的嵌套媲美。在一些动画或者炫酷的特效中,不用js的话可能是用了css动画、svg的animation、过渡,复杂动画实现用了js的话可能用了canvas、直接修改style属性。用js的,然后有没有想过一个问题:“要是canvas那套放在dom上就爽了”。因为复杂的动画频繁操作了dom,违背了倒背如流的“性能优化之一:尽量少操作dom”的规矩,嘴上说着不要,手倒是很诚实地ele.style.prop = <newProp>,可是要实现效果这又是无可奈何或者大大减小工作量的方法。
在项目当中我们总会遇到这样的页面:页面顶部是一个表单筛选项,下面是一个表格展示数据。表格下方是一个分页器,这样的页面在我们的后台管理系统中经常所遇到,有时候可能不止一个页面,好几个页面的结构都是这种。如图:
v-if可以和v-else-if、v-else一起使用,但要求结构不能被“打断”
因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate() / on()等,其中最好用的是: on()
请注意,本文编写于 2071 天前,最后修改于 173 天前,其中某些信息可能已经过时。
看到这个水果篮子的样子,大家应该可以明白它的功能:你可以做两件事 — 摘苹果和吃苹果。当你摘苹果时,应用会向后台发送ajax请求索取苹果,每个苹果有两个属性:编号和重量。当你吃苹果掉时,不用告诉后台,在前端偷偷吃掉就好啦~ 同时苹果篮子会显示当前的苹果量和已经吃掉的苹果量。好!那下面我们来开工!
什么是 AST?AST 是 Abstract Syntax Tree 的首字母的缩写,中文名称为:抽象语法树抽象语法树本质上就是一个 JS 对象,以字符串的视角,将 Html 标签 解析为 JS 对象渲染函数(h 函数),既是 AST 的产物,也是 vnode 的起源h('div', { attrs: { className: 'box' } }, [ h('ul', {}, [ h('li', {}, '1'), h('li', {}, '2'), h('l
这篇文章主要参考了 Vue.js 核心成员Guillaume Chau在 19 年美国的 Vue conf 分享的主题:9 Performance secrets revealed,分享中提到了九个 Vue.js 性能优化的技巧。
react使用也有一段时间了,大家对这个框架褒奖有加,但是它究竟好在哪里呢? 让我们结合它的源码,探究一二!(当前源码为react16,读者要对react有一定的了解)
何谓高阶组件?类比高阶函数的定义:将函数作为参数的函数就是高阶函数,那么,将组件作为参数的组件就是高阶组件。
同时,Vue 实例是一个 ViewModel,它包含的选项包括表示元素的模板、要安装的元素、方法和初始化时的生命周期钩子。
在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。
http://down.htmleaf.com/1801/201801271505.zip
大部分内容我们仍然可以借鉴普通接口调试层的内容,所以打开P_apis.html,找到那个登陆态的div,开始进行添加内部控件,但是也不能全都照搬过来,有一些就不需要,比如接口名字。而因为这个接口一个项目基本也就设置一次,所以优化便利性这种事的优先级不高,精力还是留给那些使用频率高的功能上吧
这种实现方式优缺点都很明显: 优点:自带“打印”,“搜索”,“翻页”等功能,强大且实现方便。 缺点:不同浏览器的pdf工具样式不一,且无法满足个性化需求,比如:禁止打印,下载等。
在本文中,你将学习如何使用 ChatGPT API 构建一个将 JSON 对象转换为 Typescript interface 的 Web 应用
1. 从Google Code加载jQueryGoogle Code上已经托管了多种JavaScript类库,从Google Code上加载jQuery比直接从你的服务器加载更有优势。它节省了你服务器上的带宽,能够很快的从Google的内容分布网络(CDN)上加载JS类库。更重要的是,如果用户访问那些发布在Google Code上的站点后它会被缓存下来。 这样做很有意义。有多少站点使用了没有被缓存的相同jQuery副本,而这些很容易做到,引入:
换了新公司,工作中使用的技术栈也从Vue换到了React,作为一个React新人,经常的总结和思考才能更快更好的了解这个框架。这里分享一下我这两个月来使用React总结的一些性能优化的方法。因为目前公司的项目是全面拥抱hooks的,所以只会涉及function组件写法,不包含class组件写法的相关内容。「注意:本文只涉及到一些业务开发层面的代码优化,很多通用的优化思想,比如虚拟列表,图片懒加载,节流防抖,webpack优化等等内容都不会涉及到。」
递归简单的来说就是程序自己调用自己,就像下面这幅图一样,一直循环往复。就像我们经常听到的小和尚的故事,从前有座山,山里有座庙,庙里有个老和尚和一个小和尚,有一天老和尚对小和尚讲故事,故事内容是:从前有座山,山里有座庙,庙里有个老和尚和一个小和尚,有一天老和尚对小和尚讲故事,故事内容是:从前有座山,山里有座庙,庙里......
大家好,我是一个闲着没事热衷于重复造轮子的不知名前端,今天给大家带来的是一个代码在线编辑预览工具的实现介绍,目前这类工具使用很广泛,常见于各种文档网站及代码分享场景,相关工具也比较多,如codepen、jsrun、codesandbox、jsbin、plnkr、jsfiddle等,这些工具大体分两类,一类可以自由添加多个文件,比较像我们平常使用的编辑器,另一类固定只能单独编辑html、js、css,第二类比较常见,对于demo场景来说其实已经够用,当然,说的只是表象,底层实现方式可能还是各有千秋的。
复制代码上面的代码的效果是,当我们输入firstName后,wacth监听每次修改变化的新值,然后计算输出fullName。
你是否遇到过这种情况:在css中设置了transition过渡动画,但使用时,却无效。
在页面上动态添加div元素,比如用户在添加多个银行卡的时候,可以动态添加和删除div元素
本节目标实现ReactDOM.render,只关心向 DOM 添加内容,之后处理更新和删除内容;
Hexo 环境搭建 使用 coding 和 github.io 的 pages 服务,绑定了自己的域名,做了双线解析,国内用户解析到 coding ,国外用户解析到 github.io,访问速度很满意(本来就是静态文件,访问速度很快)。 Hexo 环境的搭建,这里不再赘述,主要介绍如何导出 typecho 的数据和 Hexo 站点的配置以及 Next 主题的配置及优化。 typecho 数据导出 文章数据的导出 花了点时间把 typecho 的文章全部改写成 Markdown 的格式,方便我导出为 md 文
自定义标签通过扩展一个HTMLElement或HTMLElement的子类来定义一个新的html标签,是通过原生js实现的组件化。
随着 Facebook 和 Twitter 最近的产品部署,我认为一个新的趋势正在缓慢增长:Atomic CSS-in-JS。
Refs 提供了一种访问在render方法中创建的 DOM 节点或者 React 元素的方法。在典型的数据流中,props 是父子组件交互的唯一方式,想要修改子组件,需要使用新的pros重新渲染它。凡事有例外,某些情况下咱们需要在典型数据流外,强制修改子代,这个时候可以使用 Refs。
吐槽:虽然JSX出发点是好的,而且写起来也很简单,但是对于要在JS中写类HTML格式的内容,我的内心是排斥的,感觉非常不习惯。这不是我熟知的web开发啊!有种在开发app的感觉,一个个自定义的组件。
当16.6的memo问世,函数组件就有了类似PureComponent和shouldComponentUpdate的解决方案,memo的使用方法:
我又来给大家分享网站备案技巧来啦,还记得子凡我之前分享过的《如何利用 js 巧妙的让网站备案通过审核》这篇文章,就可以利用 JS 实现网站不关站进行备案,其中主要是针对网站备案修改和应对检查的时候用到的居多,也是泪雪博客用到过的一个方法,由于最近在迁移泪雪网的备案,需要转移备案主体,常规的方法就是注销备案使用新的主体重新备案,但是又不想影响网站的正常访问和业务,为此我又升级了一下解决方案。
因为之前用过Vue的router,所以在学习react的router的话我会将vue和react之间router进行一个区别,比较。从而更好的入门router。 \
如何提升 Web 页面的性能,很多开发人员从多个方面来下手如 JavaScript、图像优化、服务器配置,文件压缩或是调整 CSS。 很显然 HTML 已经达到了一个瓶颈,尽管它是开发 Web 界面必备的核心语言。HTML 页面的负载也是越来越重。大多数页面平均需要40K的空间,像一些大型网站会包含数以千计的 HTML 元素,页面Size会更大。 如何有效的降低 HTML 代码的复杂度和页面元素的数量,本文主要解决了这个问题,从多个方面介绍了如何编写简练,清晰的 HTML 代码,能够使得页面加载更为迅速,且
原生小程序开发方式与vue有些类似,所以用过vue的前端er会很容易上手。但是原生的开发体验实在糟糕,在前端组件化的今天用原生开发组件显得很无力。对于习惯vue开发方式的前端er来说mpvue再合适不过了。mpvue可以将H5代码打包成小程序代码,目前mpvue还做不到一套代码多端运行(毕竟各个端有自己的差异性,小程序没有document和window,所以那些第三方移动端组件库并不能适用于小程序),但是已经大大减少了开发的工作量。
故事第 1 集:CSS预处理器,你还是只会嵌套么 ?[2] 故事第 2 集:【自适应】px 转 rem,你还在手算么?[3]
是因为css3+js可控性更强,不管是大小还是颜色,还是响应式(我的项目走的vh,vw)那套来适配;
最近接到一个项目,其中有一个小需求我觉得可以稍微沉淀一下,首先是d3.js的简单应用,还有就是swiper的调试费了一定的时间
本功能属于番外,不是必须的。长度大概3章节。难度不高,也算给大家休息一下。
<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script>
自定义 React Hook 是一个必要的工具,它可以让你为 React 应用程序添加特殊的、独特的功能。
当你要复制一个 fabric 的元素时,你考虑到的是什么?是深拷贝当前选中对象再添加到画布中?
2.去除Switch中的<Redirect>,用react-router-dom中的Redirect 替代,或者用 <Navigate> 实现
我们在使用 Vue 或其他框架的日常开发中,或多或少的都会遇到一些性能问题,尽管 Vue 内部已经帮助我们做了许多优化,但是还是有些问题是需要我们主动去避免的。我在我的日常开中,以及网上各种大佬的文章中总结了一些容易产生性能问题的场景以及针对这些问题优化的技巧,这篇文章就来探讨下,希望对你有所帮助。
上节之后有粉丝私聊觉得,平台右上角的“主页/退出” 按钮已经过时。所以我们本节首先来优化下。
如上所示,return的对象中会有很多的属性,这行属性都是用来定义directive的。
使用 Radix UI 和 Tailwind CSS 构建的设计精美的组件,支持 Toast、Toggle、Toggle Group、Toolbar、 Navigation Menu。
在阅读本文前,我希望你对 Three.js 有一个初步的理解。如果你不清楚 Three.js 是什么,我推荐你先阅读 『Three.js』起飞!
文章中涉及到的知识都是渐进式的讲解开发,当然如果对之间内容不感兴趣(已经了解),也可以直接切入本文内容,每一个章节都和之前不会有很强的耦合。
这已经是我第四次写编辑器了~~~ 第一次是在三年前(2014年4月份),当时我听说有一个工具叫 Node-Webkit,于是我就结合CodeMirror撸了一个编辑器,界面如下: GitHub 地址:
领取专属 10元无门槛券
手把手带您无忧上云