几种可能性: 1.组件交错有引入依赖关系,可以选择Vue.component 2.全局注册,直接引入全局的组件 3.components没有引入 4.components重复
简单的区分Map和Object Map是ES6退出的一个类型,特点:任何值都可作为属性名 Object特点:属性名只能是字符串(一开始我也不信,测试后才发现的) // 创建一个map类型 new Map([ [key, value], [key1, value1] ]) 简单的介绍下面两个方法 Object.entries()方法返回一个数组,成员…
Demo index.vue <template> <div> <!-- 富文本框 --> <div ref="editor" :style="styles" class="editor"></div> <!-- 图片上传器…
一般是因为core.js在使用yarn拉取的时候没拉到,可以用npm单独来拉取 npm install --save core-js
要点: 递归 判断类型 检查环 不拷贝原型上的属性 const deepClone = (a, cache) => { if(!cache){ cache = new Map() // 缓存不能全局,最好临时创建并递归传递 } if(a instanceof Object) { // 不考虑跨 iframe if(cache.get(a)) …
要点: 知道要在 Promise 上写而不是在原型上写 知道 all 的参数(Promise 数组)和返回值(新 Promise 对象) 知道用数组来记录结果 知道只要有一个 reject 就整体 reject Promise.prototype.myAll Promise.myAll = function(list){ const results…
//什么是Ajax? async JavaScript and XML(JSON) let xhr = new XMLHttpRequest(); xhr.open('GET','/requestHttpDemo'); // xhr.onload = () => { // console.log(…
// 概念:回城被打断 let debounce = (fn, time, asThis) => { let timer = null; return (...args) => { if (timer) { clearTimeout(timer) } timer = setTimeout(() => { fn.call(asThi…
// 概念:触发CD let debounce = (fn, time, asThis) => { let cooldown = false; let timer = null; return (...args) => { if (cooldown) { return; } fn.call(asThis, ...args) cooldo…
const eventHub = { map: {}, on: (key, fn) => { eventHub.map[key] = eventHub.map[key] || []; eventHub.map[key].push(fn); }, off: (key, fn) => { let mark = eventHub.map[ke…