原创 element-ui的el-table和el-form表單校驗嵌套使用

在項目有遇到table中嵌套form,並且帶有表單驗證的需求,效果圖如下: 剛開始el-form-item定義了靜態prop(prop=“sn”),結果input填入值後錯誤提示一直存在,自定義校驗的value也爲undefin

原创 let存在變量提升麼?

答案是No,let const都不存在變量提升,但是存在暫時性死區 不信的話可以比較一下以下代碼: let a = 'code' { console.log(a) // code } let b = 'js' { con

原创 實現表格內編輯、新增

效果 實現過程 關於表格行:是否處在可編輯狀態主要取決於自定義的isInput屬性 關於取消操作:判斷是新增row觸發還是修改row觸發主要決定於row的id是否爲0 dom部分: <el-table :data="domain

原创 vue router 報錯:Uncaught (in promise) NavigationDuplicated {_name: "NavigationDuplicated"...}

問題(知其然) 觸發操作:在項目開發中,重複點擊當前菜單路由會報錯,報錯不影響功能使用 報錯詳情如下: 原因(知其所以然) 經過多方查找&實踐,發現是vue-router的版本問題引起的。 vue-router的更新日誌顯示 v

原创 vue根據用戶權限配置動態路由

首先讓我們瞭解一下前端路由:路由router全部配置在前端,根據用戶權限判斷可以進入哪些頁面 缺點: vue初始化的時候需要掛載全部路由,對性能有影響 安全性低,用戶可以在地址欄跳轉到無權訪問的頁面(可優化) 動態路由則是根據

原创 ES6新增的Symbol

由來 ES5 的對象屬性名都是字符串,這容易造成屬性名的衝突。比如,你使用了一個他人提供的對象,但又想爲這個對象添加新的方法(mixin 模式),新方法的名字就有可能與現有方法產生衝突。如果有一種機制,保證每個屬性的名字都是獨一無

原创 JS數據類型轉換

當操作符兩邊的操作數類型不一致或者不是基本類型(也叫原始類型)時,需要進行類型轉化。 隱式轉換規則: 轉成string類型: +(字符串連接符) 轉成number類型:++ / – (自增自減運算符)、+ - * / %(算術

原创 element框架中el-table表格列的篩選功能

關於表格的前端篩選,element文檔已經講解的很詳細了,這裏不多加介紹,我們主要說一下後端篩選如何實現 1、el-table-column需要綁定filter篩選項 <el-table-column prop="tag"

原创 vue實現RTMP流播放

背景 項目用的vue框架,直播流爲RTMP協議 安裝包 npm install vue-video-player --save // 5.0.2,內置video.js包版本爲6.13.0 npm install videojs-f

原创 JS中new的實現

我們知道,JS中的new操作符可以用來創建構造函數的實例對象,比如下🌰: function Cat(name, age) { this.name = name this.age = age } var cat1 =

原创 keyup.enter和blur綁定同一事件,觸發兩次的問題

有個需求,要求input框失焦或者鍵盤按下Enter鍵時觸發handleAddDomain事件,但是實際上在按下Enter鍵後,會觸發兩次handleAddDomain事件 <el-input class="input-n

原创 TCP的三次握手與四次揮手

TCP(Transmission Control Protocol)協議是一種面向連接的、相對可靠的傳輸控制協議(雖說是面向連接,其實也就是通信雙方保持一個‘連接’狀態) 三次握手和四次揮手是TCP協議中比較重要的部分,它們都是爲

原创 call()、apply()和bind()的區別

同 在js中,call、apply、bind這三個方法主要是爲了改變函數中this的指向 var a = { name: "阿里巴巴", fn:function(){ console.log(thi

原创 chrome擴展Octotree:高效解讀GitHub倉庫的代碼

在線查看github代碼的時候,往往不能一覽無餘,除了clone到本地解讀,還可以安裝擴展,更高效的在線瀏覽代碼結構,Octotree就是擴展之一 安裝效果圖 展開時: 摺疊後: 左側的tree結構就是Octotree的功勞

原创 談談JS繼承

1、原型鏈繼承 如果想深入瞭解更多原型的內容,可以參考之前的文章 function Parent(value) { this.parentVal = 'parent' } Parent.prototype.getParentVa