原创 摺疊組件

實現一個如圖的摺疊功能。在table的表格裏。 代碼實現 <template> <div class="foldBox"> <div :class="{'fold':isFold}"> {{ itemIds }} </div

原创 微前端 受衆 什麼是微前端 微前端的優勢 微前端的幾種實現方式 入門 進階

受衆 希望將某個單一的單體應用,轉化爲多個可以獨立運行、獨立開發、獨立部署、獨立維護的服務或者應用的聚合,從而滿足業務快速變化及分佈式多團隊並行開發的需求的研發團隊。 什麼是微前端 微前端架構是一種類似於微服務的架構,它將微服務的理念應用

原创 【vue-i18n】

1、在 main.js 中引入 vue-i18n (前提是要先引入 vue) import VueI18n from'vue-i18n' Vue.use(VueI18n) 2、準備本地的翻譯信息 const messages = { z

原创 【全屏/非全屏】

語法 開啓全屏 const el = document.documentElement; const rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozReq

原创 【postMessage】跨源通信

window.postMessage()方法可以安全地實現跨源通信。通常,對於兩個不同頁面的腳本,只有當執行它們的頁面位於具有相同的協議(通常爲https),端口號(443爲https的默認值),以及主機 (兩個頁面的模數 Documen

原创 【sortablejs】拖拽排序

Vue + element ui table 實現拖拽 源代碼 地址:https://registry.npmjs.org/sortablejs/-/sortablejs-1.13.0.tgz 使用 1、引入 import Sortable

原创 使用Switch(true)模式

在做多條件時,我一般會盡量使用switch,但是判斷的條件需要表達式時,就只能灰溜溜的去使用if-elseif-else了。今天看到switch true,這種模式非常簡單,相信會是很好的體驗。 基本介紹 大多數JavaScript開發人員

原创 算法題目10:33臺階法

實現方式(一):遞歸法 function climb(n) { if ( n == 1 ) { return 1 } else if (n == 2) { return 2 } els

原创 Array.prototype.reduce

源碼實現如下: Array.prototype.myreduce = function (callback, accumulator) { let i = 0 if (!accumulator) { i = 1 a

原创 函數柯里化 add(1)(2)

第一次看到柯里化這個詞的時候,還是在看一篇算法相關的博客提到把函數柯里化,那時一看這個詞就感覺很高端,實際上當你瞭解了後才發現其實就是高階函數的一個特殊用法。 果然是不管作用怎麼樣都要有個高端的名字纔有用。 首先看看柯里化到底是什麼? 維基

原创 computed 和 watch

computed 和 watch 區別: computed 是計算一個新的屬性,並將該屬性掛載到 vm(Vue 實例)上,而 watch 是監聽已經存在且已掛載到 vm 上的數據,所以用 watch 同樣可以監聽 computed 計算屬

原创 new源碼實現

實現如下: function Func(){} let func = new Func() function New (fn) { let obj = new Object obj.__proto__ = fn.prototype

原创 Array.prototype.findIndex

源碼實現如下: if (!Array.prototype.findIndex) { Object.defineProperty(Array.prototype, 'findIndex', { value: function(pr

原创 Array.prototype.sort

原创 算法題目9:分散節點轉成樹

【題目】: //A轉化成B const A = [{id:2, parentId: 1},{id: 1}, {id: 3, parentId: 2}, {id: 5, parentId: 4},{id: 4}] const B = [{i