首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
晓祄
掘友等级
前端工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
100
文章 42
沸点 58
赞
100
返回
|
搜索文章
晓祄
赞了这篇文章
蘑菇王
前端工程师
·
9月前
关注
【从 0 到 1 搭建 Vue 组件库框架】0. 系列导论
以组件库搭建的实战入手,逐步掌握工程化的思路与实践,最终不仅仅是搭建组件库的程度,而是可以灵活地组合各种工具,自由地定制前端工程的各种细节,当然也包括日常 Web 应用的架...
76
17
分享
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
对象数组去重组成新数组:
const map = new Map();
let newArr = arr.filter(v => !map.has(v.id) && map.set(v.id, 1))
前端开发圈
赞过
分享
评论
2
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
Vue错误监听
1)window.onerror
可以监听当前页面所有的 JS 报错,jQuery 时代经常用。
注意,全局只绑定一次即可。不要放在多次渲染的组件中,这样容易绑定多次。
window.onerror = function(msg, source, line, column, error) {
console.log('window.onerror---------', msg, source, line, column, error)
}
2)errorCaptured 生命周期
会监听所有下级组件的错误。可以返回 `false` 阻止向上传播,因为可能会有多个上级节点都监听错误。
errorCaptured(error, instance, info) {
console.log('errorCaptured--------', error, instance, info)
}
3)errorHandler
全局的错误监听,所有组件的报错都会汇总到这里来。PS:如果 `errorCaptured` 返回 `false` 则不会到这里。
const app = createApp(App)
app.config.errorHandler = (error, instance, info) => {
console.log('errorHandler--------', error, instance, info)
}
4)异步错误
组件内的异步错误 `errorHandler` 监听不到,还是需要 `window.onerror`
mounted() {
setTimeout(() => {
throw new Error('setTimeout 报错')
}, 1000)
}
展开
前端开发圈
分享
1
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
发布订阅模式:
Publisher和Observer相互不认识,中间有媒介
如'eventBus'自定义事件
前端开发圈
赞过
分享
评论
2
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
观察者模式:
Subject和Observer直接绑定,中间无媒介
如“addEventListener”绑定事件
前端开发圈
分享
评论
点赞
晓祄
赞了这篇文章
编程范儿
前端开发工程师
·
10月前
关注
如何让自己的前端知识更全面
计算机知识庞大冗杂,尤其前端领域,知识概念,框架原理不断推崇出新。在学习的过程中我们要不断进行总结梳理,形成某一个知识领域的知识图谱。这个知识图谱还可以帮助我们后期进行回顾...
1.8k
164
分享
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
箭头函数的缺点:
1)没有arguments
2)无法通过call、apply、bind等改变this
3)简写的函数会变得难以阅读
不适用箭头函数的场景:
1)对象方法
2)对象原型
3)构造函数
4)动态上下文
5)Vue生命周期和方法
展开
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
单例模式:
单例模式是指一个类,只有一个实例。实现的思路是,创建实例时候加判断,如果有实例则返回,如果没有就new一个,并返回。
function getSingle(func) {
let result;
return function() {
if(!result) {
result = new func(arguments);
}
return result;
}
}
展开
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
函数柯里化
//是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术
function curryIt(fn) {
let length = fn.length, args = [];
let result = function (arg) {
args.push(arg);
length--;
if(length <= 0) {
return fn.apply(this, args);
} else {
return result;
}
}
return result;
}
展开
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
异步加载script
function loadScript(url, callback) {
let oscript = document.createElement("script");
if(oscript.readyState) { //ie8及以下版本
oscript.onreadystatechange = function () {
if(oscript.readyState === 'complete' || oscript.readyState === 'loaded') {
callback();
}
}
} else {
oscript.onload = function () {
callback();
}
}
oscript.src = url;
document.body.appendChild(oscript);
}
展开
前端开发圈
分享
评论
点赞
晓祄
赞了这篇沸点
今天宜喝冰阔落
前端
·
9月前
举报
虽然38度4,但既然同事联系我看东西,我起床开了电脑,那高低给大家更一集
收起
查看大图
向左旋转
向右旋转
上班摸鱼
等人赞过
分享
9
39
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
遍历DOM树
//给定页面上的DOM元素,将访问元素本身及其后代
//对于每个访问的元素,函数将元素传递给提供的回调函数
function traverse(element, callback) {
callback(element);
var list = element.children;
for (var i=0; i<list.length; i++) {
traverse(list[i], callback);
}
}
展开
前端开发圈
赞过
分享
评论
1
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
获取任意元素的任意属性
function getStyle(elem, prop) {
return window.getComputedStyle ? window.getComputedStyle(elem, null)[prop] : elem.currentStyle[prop]
展开
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
将一个元素插入到另一个元素后面
Element.prototype.insertAfter=function(target, elen) {
var nextElen = elen.nextElementSibling;
if (nextElen == null) {
this.appendChild(target);
} else {
this.insertBefore(target, nextElen);
}
}
展开
前端开发圈
赞过
分享
评论
1
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
获得滚动条的的滚动距离
function getScrollOffset(){
if(window.pageXOffset){
return{
x:window.pageXOffset,
y:window.pageYOffset
}
}else{
return{
x: document.body.scrollLeft + document.documentElement.scrollLeft,
y: document.body.scrollTop + document.documentElement.scrollTop
}
}
}
展开
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
在鼠标悬停在元素上时,改变鼠标指针的样式。
/* class为'first'的元素 /
.first{
cursor: not-allowed;
}
/ class为'second'的元素 /
.second{
cursor: zoom-in;
}
/ class为'third'的元素 */
.third{
cursor: crosshair;
}
展开
收起
查看大图
向左旋转
向右旋转
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
如何实现多系统统一登录?
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
判断元素有没有子元素
function hasChildren(e){
var children = e.childNodes,
len = children.length;
for (var i=0; i<len; i++) {
if(children[i].nodeType === 1) {
return true;
}
}
return false;
}
展开
前端开发圈
分享
评论
点赞
晓祄
前端工程师
·
9月前
举报
#每天一个知识点#
找元素的第n级父元素
function parents(ele, n) {
while(ele && n ) {
ele = ele.parentElement ? ele.parentElement : ele.parentNode;
n--;
}
return ele;
}
展开
前端开发圈
分享
评论
点赞
晓祄
赞了这篇沸点
无双幽梦
研发工程师 @保密
·
9月前
举报
#新人报道#
hello 我是李治,是一名28岁的转行准程序员,我选择了前端作为未来程序员生涯的技术方向,期待和大佬们能有更多的交流
前端开发圈
等人赞过
分享
166
24
下一页
个人成就
文章被点赞
8
文章被阅读
1,858
掘力值
151
关注了
13
关注者
9
收藏集
4
关注标签
9
加入于
2022-11-18