期間遇到的問題:
1.element-ui 樣式改不了
答:1.通過自己在標(biāo)簽里添加類名層疊不了习寸,通過F12 把類名復(fù)制過來取層疊有效
2.循環(huán)的時(shí)候加入key 另凌,不加有過報(bào)錯(cuò)的情況,查了下:在vue高版本中會(huì)報(bào)錯(cuò)
答:key屬性需要唯一,理想的 key 值是每項(xiàng)都有唯一id,全局不需唯一,但在一個(gè)循環(huán)中需要唯一著瓶。
3.引入圖片 以為寫個(gè)地址就行看,結(jié)果失敗了啼县,最后加入了requer()就OK了
答:因?yàn)榉旁趖emplate模板里會(huì)被webpack打包所以可以材原,而放在data或者動(dòng)態(tài)賦值,圖片路徑只是一個(gè)字符串webpack不會(huì)處理所以引用不到季眷。
4.本地開發(fā)跨域問題
答:config -- proxyTable --- changeOrigin: true, // 是否啟用跨域
5.打包的時(shí)候資源引用錯(cuò)誤就是那個(gè)地址
答:打包后部署服務(wù)器的時(shí)候報(bào)錯(cuò) 是個(gè)路徑問題余蟹,把config里index.js build 大括號(hào)里 assetsPublicPath 的 /根路徑,改成./ 相對(duì)路徑
6.vue-router路由參數(shù)刷新消失的問題
答:params傳參可以傳過去子刮,但是不會(huì)顯示在url上威酒,在此刷新數(shù)據(jù)本頁數(shù)據(jù)會(huì)沒有,query會(huì)在url上
7.剛建項(xiàng)目的時(shí)候安裝sass出了問題挺峡,報(bào)錯(cuò)
Css3 透視
perspective :100 ;
值越小 和眼睛越近越小越明顯葵孤,值越大越不明顯
ES6 特性
let、const
箭頭函數(shù)
擴(kuò)展運(yùn)算符
默認(rèn)參數(shù)
模板字符串
解構(gòu)賦值
pormise
C3動(dòng)畫怎么寫橱赠?
animation:name duration iteration-count
動(dòng)畫的名字 動(dòng)畫持續(xù)的時(shí)間 動(dòng)畫的播放次數(shù) infinite(無限循環(huán))
animation:動(dòng)畫名 5s;
@keyframes 動(dòng)畫名
{
0% {background:red;}
100% {background:green;}
}
vue-router 鉤子
全局的鉤子
beforeEach(to尤仍,from,next)
- 頁面加載之前
- 頁面跳轉(zhuǎn)之前權(quán)限認(rèn)證狭姨,訪問攔截
afterEach(to宰啦,from,next)
- 頁面加載之后
組建內(nèi)的導(dǎo)航鉤子
beforeRouteEnter饼拍、beforeRouteUpdate赡模、beforeRouteLeave,直接在路由組件內(nèi)部進(jìn)行定義的
POST請(qǐng)求axios設(shè)置什么
headers: {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'};
請(qǐng)求頭,一般采用x-www-form-urlencoded
發(fā)送的數(shù)據(jù)要序列化惕耕,特別注意啊纺裁,因?yàn)閍xios默認(rèn)的格式是Request Payload诫肠。
瀏覽器輸入網(wǎng)址后經(jīng)歷了什么
- 輸入網(wǎng)址回車
- 從dns服務(wù)器獲取服務(wù)器ip
- 通過ip向服務(wù)器建立tcp三次握手連接
- 向服務(wù)器發(fā)送請(qǐng)求
- 服務(wù)器接收到請(qǐng)求司澎,處理請(qǐng)求
- 服務(wù)器處理完請(qǐng)求向?yàn)g覽器響應(yīng)
- 瀏覽器接收到服務(wù)器的響應(yīng) 解析
- 生成dom樹 瀏覽器渲染頁面
vuex
1. 什么是vuex :
Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式欺缘。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化挤安。Vuex 也集成到 Vue 的官方調(diào)試工具 devtools extension谚殊,提供了諸如零配置的 time-travel 調(diào)試、狀態(tài)快照導(dǎo)入導(dǎo)出等高級(jí)調(diào)試功能蛤铜。
2. 他的屬性方法有哪些嫩絮?每個(gè)階段是干嘛的?
? State围肥、mutations剿干、getters、actions穆刻、 modules
Store
表示對(duì)Vuex對(duì)象的全局引用置尔。組件通過Store來訪問Vuex對(duì)象中的State
? State
Vuex對(duì)象的狀態(tài),即其所擁有的數(shù)據(jù)
? Getter
相當(dāng)于Store的計(jì)算屬性氢伟。因?yàn)榫拖裼?jì)算屬性一樣榜轿,Getter的返回值會(huì)根據(jù)它的依賴被緩存起來,且只有當(dāng)它的依賴值發(fā)生了改變才會(huì)被重新計(jì)算朵锣。下面會(huì)說到具體的使用場(chǎng)景
? Mutation
定義了對(duì)State中數(shù)據(jù)的修改操作谬盐。組件使用State中的數(shù)據(jù)的時(shí)候并不能直接對(duì)數(shù)據(jù)進(jìn)行修改操作,需要調(diào)用Mutation定義的操作來實(shí)現(xiàn)對(duì)數(shù)據(jù)的修改诚些。這也是Vuex定義中所說的用相應(yīng)的規(guī)則來讓數(shù)據(jù)發(fā)生變化的具體實(shí)現(xiàn)
? Action
Mutation中定義的操作只能執(zhí)行同步操作飞傀,Vuex中的異步操作在Action中進(jìn)行,Action最終通過調(diào)用Mutation的操作來更新數(shù)據(jù)
? Module
Store和State之間的一層泣刹,便于大型項(xiàng)目管理助析,Store包含多個(gè)Module,Module包含State椅您、Mutation和Action
TCP三次握手
瀏覽器要向服務(wù)器發(fā)送請(qǐng)求之前
1.瀏覽器先要問下服務(wù)器你在嗎外冀?
2.服務(wù)器回復(fù)瀏覽器回復(fù)說我在確認(rèn)信息
3.瀏覽器說 我收到了你的回應(yīng)信息了
然后在發(fā)送請(qǐng)求
怎么解決代碼沖突:
通過報(bào)錯(cuò)百度解決方法,因?yàn)榕龅竭^好幾次后掀泳,每個(gè)人負(fù)責(zé)不同的頁面雪隧,在有代碼的頁面只增不減
如果想要保留本地修改的話,使用:
1员舵、直接解決沖突:使用當(dāng)前|使用傳入
2脑沿、
git stash //隱藏本地修改
git pull //拉取服務(wù)器代碼
git stash pop //取消本地代碼隱藏
11.18下午 電話面試 平安
-
高德經(jīng)緯度怎么獲取、轉(zhuǎn)換坐標(biāo)值的马僻?地圖路徑規(guī)劃庄拇?
-
權(quán)限是怎么做的?
用戶登錄根據(jù)先判斷本地有沒有token,如果有token并且是當(dāng)前登錄的賬號(hào)措近,根據(jù)后臺(tái)返回的數(shù)據(jù)渲染當(dāng)前角色的顯示內(nèi)容溶弟,如果沒有token 去后臺(tái)請(qǐng)求,得到相應(yīng)角色的權(quán)限
-
怎么控制不同用戶 某個(gè)按鈕 功能 展示和不展示瞭郑?
在用戶登錄后根據(jù)用戶id讀取用戶的所有權(quán)限辜御,比如說某個(gè)是刪除按鈕 本用戶沒有,讓后臺(tái)返回一個(gè)參數(shù)屈张,deleteBtn:0/1擒权,如果是0就不顯示,如果是1就顯示按鈕
-
角色管理 具體實(shí)現(xiàn)了什么功能阁谆?
角色管理實(shí)現(xiàn)了角色的增刪改查碳抄,凍結(jié) 凍結(jié):前端只管凍結(jié),要是凍結(jié)后這個(gè)賬號(hào)的數(shù)據(jù)在數(shù)據(jù)庫(kù)场绿,這個(gè)賬號(hào)登錄的時(shí)候后臺(tái)返回參數(shù) 賬號(hào)被凍結(jié)纳鼎,自動(dòng)跳到登錄頁 彈出頁面提示 這個(gè)賬號(hào)被凍結(jié)信息。
-
和后端交互的協(xié)議裳凸?
http WebSocket
-
WebSocket 贱鄙?
建立在tcp協(xié)議上的全雙工通信協(xié)議,一般用在網(wǎng)站里面作為用戶和后臺(tái)人員溝通的或者是用來通訊的
-
Ajax 姨谷?
// 1. 創(chuàng)建一個(gè) XMLHttpRequest 類型的對(duì)象 —— 相當(dāng)于打開了一個(gè)瀏覽器 var xhr = new XMLHttpRequest() // 2. 打開與一個(gè)網(wǎng)址之間的連接 —— 相當(dāng)于在地址欄輸入訪問地址 xhr.open('GET', '/time') // 3. 通過連接發(fā)送一次請(qǐng)求 —— 相當(dāng)于回車或者點(diǎn)擊訪問發(fā)送請(qǐng)求 xhr.send(null) // 4. 指定 xhr 狀態(tài)變化事件處理函數(shù) —— 相當(dāng)于處理網(wǎng)頁呈現(xiàn)后的操作 xhr.onreadystatechange = function () { // 通過 xhr 的 readyState 判斷此次請(qǐng)求的響應(yīng)是否接收完成 if (this.readyState === 4) { // 通過 xhr 的 responseText 獲取到響應(yīng)的響應(yīng)體 console.log(this.responseText) } }
readyState 狀態(tài)描述 說明 0 UNSENT 代理(XHR)被創(chuàng)建逗宁,但尚未調(diào)用 open()
方法。1 OPENED open()
方法已經(jīng)被調(diào)用梦湘,建立了連接瞎颗。2 HEADERS_RECEIVED send()
方法已經(jīng)被調(diào)用,并且已經(jīng)可以獲取狀態(tài)行和響應(yīng)頭捌议。3 LOADING 響應(yīng)體下載中哼拔, responseText
屬性可能已經(jīng)包含部分?jǐn)?shù)據(jù)。4 DONE 響應(yīng)體下載完成瓣颅,可以直接使用 responseText
倦逐。 實(shí)時(shí)顯示車在哪里?
?
-
MVC MVVM 宫补?
M 模型 V 視圖 VM 視圖模型 是mvvm的核心檬姥,數(shù)據(jù)和視圖不能直接通信,需要靠vm當(dāng)個(gè)橋梁連接m和v粉怕,vm把數(shù)據(jù)模型轉(zhuǎn)化成為是視圖健民,也可以把用戶在界面操作后轉(zhuǎn)化為數(shù)據(jù),形成雙向數(shù)據(jù)綁定贫贝。 數(shù)據(jù)雙向綁定有很重要的方法Object.difneproty() 給每個(gè)數(shù)據(jù)設(shè)置set 和get 當(dāng)數(shù)據(jù)發(fā)生改變秉犹,watcher劫持到了數(shù)據(jù)通知模板解析更新視圖 --------------------------------------------------------------------------------------- MVC M 模型 V 視圖 C 控制器 頁面業(yè)務(wù)邏輯 mvc 是單向通信
less 引入項(xiàng)目的流程?
npm i less
然后在 webpack.base.conf.js里面配置 less-loader 代碼
npm i less;
main.js 里面引入代碼 {test:/\.less$/,loader:"style-loader!css-loader!less-loader"}
-
怎么解決同事之間代碼沖突?
1.有很多>>>>>> 和同事商量下 2.其他同事寫了代碼我我也在我的區(qū)域?qū)懥舜a git push 不上去崇堵,先隱藏本地代碼 git stach 悦陋,在git pull 拉取,最后取消隱藏本地代碼
-
怎么使用webpack 打包 流程筑辨?
npm run build 1.路徑改成./ 2.productionSourceMap:false 生成map文件改成false
-
瀏覽器兼容器的問題?
1.不同瀏覽器padding和margin不同 解決方案:{margin:0,padding:0} 2.
字符串轉(zhuǎn)json?
訪問后臺(tái)用什么 請(qǐng)求幸逆?
-
把form-data表單請(qǐng)求后端 怎么設(shè)置的棍辕?
Content-Type:multipart/form-data
11.18 下午 電話面試 海康威視
-
C3特性
animation transtaion transform border-shadow border-image rgba border-radio flex 盒模型: box-sizing:border-box box-sizing:content-box 媒體查詢
C3透視
定義一個(gè)C3動(dòng)畫
Echarts 地圖哪里的还绘?
Echarts 數(shù)據(jù)量很大的情況 怎么辦楚昭?
-
用Echarts 心得 ?
tooltip 超出 div 限制 問題:在做條形圖時(shí)拍顷,當(dāng)div容器較小時(shí)抚太,tooltip的內(nèi)容又較長(zhǎng)時(shí),會(huì)導(dǎo)致tootip文字被遮擋昔案。 仔細(xì)查閱Echarts文檔尿贫,可以發(fā)現(xiàn)有個(gè)tooltip.confine的屬性,設(shè)置為true時(shí)可保證toolip的內(nèi)容限制在圖表的區(qū)域范圍內(nèi)踏揣。
-
setTimeout 和 Promise 區(qū)別庆亡?
Promise 就是一個(gè)對(duì)象,用來傳遞異步操作的消息捞稿。有三種狀態(tài):pending(進(jìn)行中)又谋,resolved(已完成)和rejected(失敗)有了promise對(duì)象,就可以將異步操作以同步操作的流程表示出來娱局,避免了層層嵌套的回調(diào)函數(shù)彰亥。
-
async await 是一種什么樣的機(jī)制?
ES6 新特性
-
箭頭函數(shù) this特性
this指向外層作用域的this
```
-
const var let 提升 定義 賦值
var 可以變量提升 let const 不可以 var 可以重新定義 let const 不可以 const的值賦值簡(jiǎn)單數(shù)據(jù)類型 值不可更改衰齐,賦值復(fù)雜數(shù)據(jù)類型 值可以更改 const 必須賦值 不能用null替代
-
node用過什么框架任斋?
express
js事件循環(huán)機(jī)制
?
- 居中布局
?
- MVC MVVM 區(qū)別
11.19上午 全球同方人壽
- for循環(huán)刪除列表某一項(xiàng)
11.19下午 智昌科技
- Echarts 處理tab切換數(shù)據(jù)改變不了問題
- 怎么修改Element-UI 樣式
- element-ui 時(shí)間格式化
- async?await?捕捉錯(cuò)誤?怎么捕捉?catch
- token?過期之后跳回到登錄頁,寫在哪里耻涛?
- token存到哪里仁卷?localstor
- token怎么發(fā)給后臺(tái)?
- css兩端布局
- 父組件?傳值給多層子組件?怎么傳犬第?
11.19 晚上 博彥科技 電話面試
-
對(duì)vue的理解 介紹vue
-
vue用什么腳手架锦积?
-
vue腳手架里怎么用sass?
-
在vue哪個(gè)生命周期中獲取DOM
-
vue的指令5個(gè)
-
v-model 干嘛用的 v-model和v-bind 區(qū)別歉嗓?
-
v-show v-if區(qū)別丰介?
-
父子組件的通信?
-
非父子組件傳值?
什么時(shí)候用vuex 哮幢?
-
vue 中 data 為什么是一個(gè)函數(shù) 不是一個(gè)對(duì)象带膀?
'abc' ? '真' : '假' //真 'abc' === true //false 'abc' == true //false
-
Promise干嘛用?
異步回調(diào)有4中 1.callback 回調(diào)函數(shù) 2.generator + co 庫(kù) 3.promise 4.async + await
-
給vue 里的data 的對(duì)象添加一個(gè)屬性 會(huì)發(fā)生什么橙垢?如何解決垛叨?
發(fā)生數(shù)據(jù)丟失?
-
優(yōu)化性能柜某?
-
本地緩存 localStorage嗽元、sessionStorage、cookie喂击、session對(duì)比
-
Ajax能不能跨域剂癌? 存在同源策略?
11.21上午 工商 現(xiàn)場(chǎng)面試
- MVVM MVC
- 路由導(dǎo)航守衛(wèi)
- Vue生命周期鉤子函數(shù)
- 項(xiàng)目中遇到過哪些困難翰绊?
- webpack在實(shí)際項(xiàng)目中怎么配置佩谷?
11.23 下午 電話面試
工作中遇到了什么困難?怎么解決的监嗜?
ES6新特性
兼容問題怎么解決的谐檀?
-
Vue框架和jQuery的區(qū)別是什么?
最明顯的就是思維方式不同裁奇,jquery 是以操作dom為主稚补,做了數(shù)據(jù)處理之后還需要對(duì)dom進(jìn)行操作。vue.js是以操作數(shù)據(jù)為主框喳,不操作dom课幕,也就是傳說中的雙向數(shù)據(jù)綁定,你只需要操作數(shù)據(jù)就好五垮,dom自動(dòng)更新
-
怎么理解ajax乍惊?
Ajax是一套用來發(fā)異步請(qǐng)求的技術(shù),它可以讓我們不用跳轉(zhuǎn)網(wǎng)頁就能發(fā)請(qǐng)求放仗,所以我們也把a(bǔ)jax叫局部請(qǐng)求技術(shù)润绎。 Ajax應(yīng)用程序的優(yōu)勢(shì)在于: 1. 通過異步模式,提升了用戶體驗(yàn) 2. 優(yōu)化了瀏覽器和服務(wù)器之間的傳輸诞挨,減少不必要的數(shù)據(jù)往返莉撇,減少了帶寬占用 3. Ajax引擎在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作惶傻,從而減少了大用戶量下的服務(wù)器負(fù)載棍郎。 2、AJAX最大的特點(diǎn)是什么银室。 Ajax可以實(shí)現(xiàn)動(dòng)態(tài)不刷新(局部刷新) 就是能在不更新整個(gè)頁面的前提下維護(hù)數(shù)據(jù)涂佃。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作励翼,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息。
-
事件委托
事件委托辜荠,是利用了冒泡的原理汽抚,把事件委托給子孫元素的祖先元素,當(dāng)點(diǎn)擊子孫元素后伯病,由于事件冒泡造烁,祖先元素會(huì)捕獲到該事件,并可以使用事件對(duì)象.target來獲取是最先觸發(fā)的是哪一個(gè)子孫元素午笛,從而實(shí)現(xiàn)了事件的綁定
-
null與undefined的區(qū)別惭蟋?
console.log(null==undefined)//true console.log(null===undefined)//false null表示"沒有對(duì)象",即該處不應(yīng)該有值季研。典型用法是: (1) 作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對(duì)象誉察。 (2) 作為對(duì)象原型鏈的終點(diǎn)与涡。 undefined表示"缺少值",就是此處應(yīng)該有一個(gè)值持偏,但是還沒有定義驼卖。典型用法是: (1)變量被聲明了,但沒有賦值時(shí)鸿秆,就等于undefined酌畜。 (2) 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒有提供卿叽,該參數(shù)等于undefined桥胞。 (3)對(duì)象沒有賦值的屬性,該屬性的值為undefined考婴。 (4)函數(shù)沒有返回值時(shí)贩虾,默認(rèn)返回undefined。
-
項(xiàng)目中遇到過什么問題沥阱?
-
$toute 和 $router routes
$router是VueRouter的實(shí)例缎罢,在script標(biāo)簽中想要導(dǎo)航到不同的URL,使用$router.push方法。 返回上一個(gè)歷史history用$router.to(-1) $route為當(dāng)前router跳轉(zhuǎn)對(duì)象考杉。里面可以獲取當(dāng)前路由的name,path,query,parmas等策精。 router可以理解為一個(gè)容器,或者說一種機(jī)制崇棠,它管理了一組route咽袜。簡(jiǎn)單來說,route只是進(jìn)行了URL和函數(shù)的映射枕稀,而在當(dāng)接收到一個(gè)URL之后酬蹋,去路由映射表中查找相應(yīng)的函數(shù)及老,這個(gè)過程是由router來處理的。 route范抓,它是一條路由骄恶。 routes,是一組路由匕垫。
vue-router有哪幾種導(dǎo)航鉤子僧鲁?(具體怎么用的)
三種,
第一種:是全局導(dǎo)航鉤子:router.beforeEach(to,from,next)象泵,作用:跳轉(zhuǎn)前進(jìn)行判斷攔截寞秃。
第二種:組件內(nèi)的鉤子
第三種:?jiǎn)为?dú)路由獨(dú)享組件
用到vue-router的導(dǎo)航鉤子的時(shí)候,發(fā)現(xiàn)有三類:
1 偶惠、全局導(dǎo)航鉤子 // 全局導(dǎo)航鉤子 直接掛載在router實(shí)例上的
beforeEach
beforeResolve
afterEach
2 春寿、某個(gè)路由獨(dú)享的導(dǎo)航鉤子
beforeEnter // 直接在router的路由配置中使用
3 、路由組件上的導(dǎo)航鉤子 // 定義一個(gè)vue模板忽孽,這個(gè)模板被router的配置文件的component使用
beforeRouteEnter // 某個(gè)路由獨(dú)享的導(dǎo)航鉤子beforeEnter
beforeRouteUpdate (2.2 新增)
beforeRouteLeave