一个优质的Vue组件库应该遵循什么样的设计原则

一、组件库的价值

  • 就个人而言,拥有一套自己的组件库,可以让你的开发变得更高效,让你在行业里更有价值。
  • 就团队而言,拥有一套团队的组件库,可以让协同开发变得更高效规范,让你的团队在公司更具有影响力。
  • 就公司而言,拥有一套公司维护的开源组件库,可以让你的公司在行业里更具有影响力。
  • [……]

Vue项目SEO优化的另一种姿态

背景:当前项目首页和登陆后的平台在一个项目里,路由采用hash模式,现在要做SEO优化,这时候同构SSR(Server Side Rendering)服务端渲染代价显然太大,影响范围比较广,同样更改当前项目路由为history模式采用预渲染(Prerending)代价也不小。最终决定将首页单独出一个[……]

简述this,call,apply,bind之间的关系

一、什么是this?

this是JavaScript语言的一个关键字,它是函数运行时在函数体内部自动生成的一个对象,只能在函数体内部使用。函数的不同使用场合,this的指向不同。

在ES5中,this永远指向最终调用它的对象。

例1:这里最终调用函数a的对象是全局window,相当[……]

前端下载远程文件

前端网页下载远程文件可以分为以下两种形式:

  • 打开新窗口下载
  • 在当前窗口直接下载

打开新窗口下载的方法:
window.open方法(打开一个弹窗):

创建一个隐藏form表单提交方法(打开新的标签页):[……]

Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().

解决方法:

原因:

从Chrome50开始,对<video>或<audio>元素的play()调用返回一个Promise。 一个异步返回单个结果的函数。如果回放成功,Promise就会实现,而play[……]

前端内存泄漏检查判断及处理

什么是内存泄露?

已经不再使用的内存未能被程序释放,叫内存泄露(memory leak)。

内存泄露会带来什么样的后果?

内存泄露会因为减少可用内存数量从而降低计算机性能,严重的可能导致设备停止正常工作,或者应用程序崩溃。

什么情况下出现内存泄漏?

首先了解一下垃圾回收[……]

H5背景音乐自动播放(兼容微信IOS,进程后台切换自动停止播放,本文例子为Vue写法)

Vue自定义指令实现点击div以外部分隐藏div

首先新建一个directives.js文件,自定义一个指令:

然后在组件内: