日常工作知識點集合
使用下面的關係區別這兩個操作: git pull = git fetch + git merge
git pull --rebase = git fetch + git rebasewww.cnblogs.com/kevingrace/…
2.vue中element-ui實現的slot分發和route路由
<!--單個啟用 並以 index 作為 path 進行路由跳轉--> <el-menu unique-opened router v-show="!collapsed"> <!--動態路由到子元件 將不可見的路徑隱藏--> <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden"> <el-submenu :index="index+''" v-if="!item.leaf"> <!--用el ui 的title進行solt分發選單--> <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template> <!--item.name和item.children.name來配置選單欄和子選單欄的名稱--> <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item> </el-submenu> <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item> </template> </el-menu> 複製程式碼
3.vue中設定管道
Object.keys(filters).forEach(k => Vue.filter(k, filters[k])) 複製程式碼
Object.keys 返回一個所有元素為字串的陣列,其元素來自於從給定的object上面可直接列舉的屬性。這些屬性的順序與手動遍歷該物件屬性時的一致。
如果你想獲取一個物件的所有屬性,,甚至包括不可列舉的,請檢視Object.getOwnPropertyNames。developer.mozilla.org/zh-CN/docs/…
4.反向代理呼叫api
env: require('./dev.env'), port: 8092, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/bdc-xapi': { target: '', changeOrigin: true, pathRewrite: { '^/bdc-xapi': '/' } }, }, 複製程式碼
5.token機制完成登入狀態保持/身份認證
6.nextTick
this.$nextTick(_ => { this.$refs.saveTagInput.$refs.input.focus(); }); 複製程式碼
this.$nextTick作用:在下次dom更新迴圈結束之後執行延遲迴調。在修改資料之後立即使用這個方法,獲得更新後的dom。
7.git操作指令
遇到npm install時出現需要配置環境變數的時候:
1.npm install fsevents
2.npm install -g [email protected]
3.npm install vueadmin??
4.clear
5.npm update
6.npm install
本地生成ssh公鑰:
1.ssh-keygen.exe
2.ssh-keygen -t rsa -c"[email protected]" -b 4096
3.cat~/.ssh/id_rsa.pub
mac中將gitLab程式碼拉取到本地:www.jianshu.com/p/e743e7bc1…
8.element-ui元件中方法呼叫問題
<el-input type="text" :placeholder="fileName" v-model="uploadForm.reNameTxt" @keyup.enter.native="reNameSuccess"></el-input> 複製程式碼
@keyup.enter.native多加了個native
關於keyup.enter.nativeblog.csdn.net/fifteen718/…
注意!!!如果用了封裝元件的話,比如element,這個時候使用按鍵修飾符需要加上.native
!!當一個 form 元素中只有一個輸入框時,在該輸入框中按下回車應提交該表單。如果希望阻止這一預設行為,可以在標籤上新增 @submit.native.prevent ;
即@submit.native.prevent是用來阻止預設行為的 ;
9.docker文件
10.相鄰兄弟選擇器 +
相鄰兄弟選擇器(Adjacent sibling selector)可選擇緊接在另一元素後的元素,且二者有相同父元素。
12.command+T在mac上新開啟一個終端
13.el-upload元件中的action路由問題
action中寫呼叫介面的名字,可以手動上傳,取消自動上傳 (要研究一下路由怎麼寫)
14.對K8S做一瞭解和學習https://www.imooc.com/learn/978 。K8S在谷歌內部叫Borg1,就我知道,谷歌內部並沒有停止對Borg的研發腳步,他們還有一套Borg2在研發中。??
15 vue中backgroundImage的寫法
<div class="img2" :style="{backgroundImage: 'url(' + bg2 + ')' }"></div>
blog.csdn.net/qq_35393869…
16 HTMLCollection的用法
取一個元素節點時會返回一個HTMLCollection物件developer.mozilla.org/zh-CN/docs/…
18 研究一下vue的生命週期??
19. querySelector方法??
20.vue中繫結class的方法
繫結style的方法<img :src="logo" :style="{'display':isShowImg==true?'block':'none'}" />
21 upload元件上傳後,怎麼清除檔案??
22 git命令操作
正常操作流程: git add . git commit -m '備註' git pull --rebase=》有衝突的話,解決衝突,然後git add .git rebase --continuegit log檢視是否拉下來程式碼最後git push
git checkout .不需要的程式碼捨棄 git rebase --abortrebase程序中有問題時,可以中斷程序,回到拉取程式碼前的狀態
分支操作:
1.在本地dev上git pull
2.git checkout -b fenzhi建立分支
3.然後在本地寫完程式碼後,git add .
git commit -m ''
4.然後切換到dev分支上git checkout dev
5.然後拉取新程式碼git pull
6.合併本地分支 git merge matianxiu
7.有衝突的話,修改衝突,然後git add .git commit -m ''
8.最後git push
在dev上刪除分支是git checkout -D ''
gitignore檔案中是上傳檔案時即使有修改也預設不上傳的檔案ad.DS_Store node_modules/ dist/ npm-debug.log yarn-error.log .idea .DS_Store output dist.zi
可以在本地建立一個全域性的git=>commit的template檔案,這樣在每次git commit時都沿用同一個字首,用作區分提交是研發還是修改bug,不用每次都看git commit -m '備註'備註中的內容
23 input框去抖動
在input框輸入的時候,當我們監聽input事件的時候,由於input事件是一旦輸入框內容發生改變就觸發我們繫結的回撥函式,在實際當中我們往往會根據輸入框內容去傳送一些請求,這樣一旦改變就觸發無疑是耗時的,而且影響效能,這個時候,我們就可以使用防抖動。實現的大概思路就是我們可以自定義隔多長時間來觸發我們的處理操作(例如ajax請求資料等)
var timer = null element.input = function () { var that = this clearTimeout(timer) // 每次進來的時候都將之前的清除掉,如果還沒到一秒的時候就將之前的清除掉,這樣就不會觸發之前setTimeout繫結的事件, 如果超過一秒,之前的事件就會被觸發下次進來的時候同樣清除之前的timer setTimeout(function () { // 在這裡進行我們的操作 這樣就不會頻繁的進行我們這裡面的操作了 }, 1000) }
24 調介面時記住做異常處理判斷
25 出現兩個display為inline-block的元素上下錯位的問題時,使用vertical-align:top
26 js陣列的includes()
Array.prototype.includes方法返回一個布林值,表示某個陣列是否包含給定的值,與字串的includes方法類似。該方法屬於 ES7 ,但 Babel 轉碼器已經支援。
另外, Map 和 Set 資料結構有一個has方法,需要注意與includes區分。 Map 結構的has方法,是用來查詢鍵名的,比如Map.prototype.has(key)、WeakMap.prototype.has(key)、Reflect.has(target, propertyKey)。 Set 結構的has方法,是用來查詢值的,比如Set.prototype.has(value)、WeakSet.prototype.has(value)。
27.js陣列的filter方法
filter也是一個常用的操作,它用於把Array的某些元素過濾掉,然後返回剩下的元素。
和map()類似,Array的filter()也接收一個函式。和map()不同的是,filter()把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素
28.vue的路由傳參,子頁面重新整理保證引數不丟失
1.使用query:
this.$router.push({ path: '/NewsDetail', query: { newsUrl: url } })
2.在路由配置頁面配置好,然後可以用params方法傳
routes: [ { path: '/list/:id', name: 'list' } ]
this.$router.push({name:'list', params:{id: id}});