2022-03-09

3.9日面試的第一家比較水,問的很簡(jiǎn)單,可能是我比較菜的原因

1:了解w3c嗎?


web標(biāo)準(zhǔn)主要分為結(jié)構(gòu)表現(xiàn)行為,w3c對(duì)web標(biāo)準(zhǔn)提出了規(guī)劃范要求即代碼規(guī)范

2:垂直居中


設(shè)置子元素父元素行高一樣 line-height

子元素設(shè)置為行內(nèi)塊,添加vertical-align:middle

彈性盒子:父元素設(shè)置display:flex? 子元素:align-self:center

3:ES6新特性


let和const(let 命令 用于聲明局部變量,let 和 const 的塊級(jí)作用域,有暫時(shí)性死區(qū),不會(huì)變量提升,在預(yù)編譯和進(jìn)行之間不允許訪問)

解構(gòu)賦值(ES6允許按照一定的模式,從數(shù)組或?qū)ο笾腥〕鲋担瑢?duì)變量進(jìn)行賦值。?如果解構(gòu)不成功,變量的值就等于undefined。)

模板字符串(模板字符串指是增強(qiáng)版的字符串,用反引號(hào)(`)標(biāo)識(shí)。)

箭頭函數(shù)

symbol、set、map

數(shù)組方法:fill,用途: 用于填充數(shù)組對(duì)象? Array.from,用途: 將偽數(shù)組轉(zhuǎn)換為真數(shù)組,

4:用過哪些修飾符?


.lazy(改變事件后觸發(fā),光標(biāo)離開input框的時(shí)候,值才會(huì)發(fā)生改變)

.number(將輸出的字符串轉(zhuǎn)為number類型).trim(自動(dòng)過濾用戶輸入的首位空格)

事件修飾符:.stop.prevent(防止執(zhí)行預(yù)設(shè)行為)

.capture(添加事件偵聽器時(shí),使用事件捕獲模式,誰有改事件修飾符就觸發(fā)誰)

.once(只執(zhí)行一次)

.self(只觸發(fā)自己范圍內(nèi)的時(shí)間,不包括子元素)

5:vue路由嵌套


配置完父路由之后添加子路由

將子路由放在父路由需要映射的位置,示例需要引入的頁面

6:解釋一下promise?


promise:解決回調(diào)地獄,異步問題,一般和ajax一起使用

promise有三種狀態(tài):pending,resolved,rejected

promise對(duì)象特點(diǎn):promise對(duì)象狀態(tài)一旦發(fā)生改變就不可逆,

promise有兩個(gè)操作方法:

.then()成功后執(zhí)行的方法,參數(shù)是匿名函數(shù),參數(shù)可以有一個(gè)也可以有兩個(gè),有一個(gè)參數(shù)時(shí),函數(shù)表示成功后執(zhí)行,有兩個(gè)時(shí),第二個(gè)表示失敗后執(zhí)行,

.catch()失敗后執(zhí)行

7:vuex的組成


1)state

state是存儲(chǔ)的單一狀態(tài),是存儲(chǔ)的基本數(shù)據(jù)。

2)Getters

getters是store的計(jì)算屬性,對(duì)state的加工,是派生出來的數(shù)據(jù)。就像computed計(jì)算屬性一樣,getter返回的值會(huì)根據(jù)它的依賴被緩存起來,且只有當(dāng)它的依賴值發(fā)生改變才會(huì)被重新計(jì)算。

3)Mutations

mutations提交更改數(shù)據(jù),使用store.commit方法更改state存儲(chǔ)的狀態(tài)。(mutations同步函數(shù))

4)Actions

actions像一個(gè)裝飾器,提交mutation,而不是直接變更狀態(tài)。(actions可以包含任何異步操作)

5)Module

Module是store分割的模塊,每個(gè)模塊擁有自己的state、getters、mutations、actions。

6)輔助函數(shù)

Vuex提供了mapState、MapGetters、MapActions、mapMutations等輔助函數(shù)給開發(fā)在vm中處理store。

8:token的封裝


1:因?yàn)橐话愕卿浟酥蠖紩?huì)放到localstorage里面去,在每次請(qǐng)求的時(shí)候封裝這個(gè)方法去取一遍,把localstorage取出來,寫一個(gè)把token放到header里面的一行代碼,

2:登錄成功之后,服務(wù)端會(huì)返回一個(gè)token(該token是一個(gè)唯一標(biāo)識(shí)用戶身份的一個(gè)key)之后我們將token存在本地的cookie里面,這樣下次在打開頁面或者刷新頁面的時(shí)候就能記住用戶登錄狀態(tài),不用再去登錄頁面重新登陸了。

用axios的話直接使用請(qǐng)求攔截

9:vue2中不建議子組件修改父組件中的值,有時(shí)候又不得不這樣做,該怎么去實(shí)現(xiàn)


1:修飾符解決(.sync)

在有些情況下,我們可能需要對(duì)一個(gè) prop 進(jìn)行“雙向綁定”。不幸的是,真正的雙向綁定會(huì)帶來維護(hù)上的問題,因?yàn)樽咏M件可以變更父組件,且在父組件和子組件兩側(cè)都沒有明顯的變更來源。

注意帶有?.sync?修飾符的?v-bind?不能和表達(dá)式一起使用 (例如?v-bind:title.sync=”doc.title + ‘!’”?是無效的)。取而代之的是,你只能提供你想要綁定的 property 名,類似?v-model。

當(dāng)我們用一個(gè)對(duì)象同時(shí)設(shè)置多個(gè) prop 的時(shí)候,也可以將這個(gè)?.sync?修飾符和?v-bind?配合使用:

這樣會(huì)把?doc?對(duì)象中的每一個(gè) property (如?title) 都作為一個(gè)獨(dú)立的 prop 傳進(jìn)去,然后各自添加用于更新的?v-on?監(jiān)聽器。

將?v-bind.sync?用在一個(gè)字面量的對(duì)象上,例如?v-bind.sync=”{ title: doc.title }”,是無法正常工作的,因?yàn)樵诮馕鲆粋€(gè)像這樣的復(fù)雜表達(dá)式的時(shí)候,有很多邊緣情況需要考慮。

2:v-model

10:vue自定義指令


【全局指令】

Vue.filter()

【局部指令】

也可以注冊(cè)局部指令,組件或Vue構(gòu)造函數(shù)中接受一個(gè) directives 的選項(xiàng),然后可以在模板中任何元素上使用新的 v-focus 屬性

11:vue生命周期


beforeCreate(創(chuàng)建前)vue實(shí)例的掛載元素$el和數(shù)據(jù)對(duì)象data都是undefined,還未初始化(創(chuàng)建了掛載元素跟數(shù)據(jù)對(duì)象還未初始化)

created(創(chuàng)建后)完成了data數(shù)據(jù)初始化,el還未初始化(數(shù)據(jù)初始化,掛載元素還未初始化)

beforeMount(載入前)vue實(shí)例的$el和data都初始化了,已經(jīng)生成了html,此時(shí)還沒有掛載到頁面上。(掛數(shù)據(jù)初始化完后并且生成了html,但是還沒有掛在到頁面)

mounted(載入后)在el新被創(chuàng)建的vm.$el替換,并掛載到實(shí)例上去之后調(diào)用。實(shí)例已經(jīng)完成了以下的配置:用上面編譯好的html內(nèi)容替換el屬性指向dom元素。完成模板中html渲染到html頁面中,此過程中進(jìn)行ajax交互。(用編譯完后的html內(nèi)容替換el屬性,進(jìn)行ajax的交互,進(jìn)行頁面的渲染)

beforeUpdate(更新前)在數(shù)據(jù)更新之前調(diào)用,發(fā)生在虛擬dom重新渲染和打補(bǔ)丁之前調(diào)用??梢栽巽^子中進(jìn)一步地更新狀態(tài),不會(huì)觸發(fā)附加的重渲染過程(進(jìn)一步的更新狀態(tài),不會(huì)觸發(fā)重渲染)

Update(更新后)由于數(shù)據(jù)更改導(dǎo)致的虛擬dom重新渲染和打補(bǔ)丁之后調(diào)用。調(diào)用時(shí),組件dom已經(jīng)更新,所以可以執(zhí)行依賴于dom的操作。然而在大多數(shù)情況下,應(yīng)該避免在此期間更改狀態(tài),因?yàn)檫@可能會(huì)導(dǎo)致更新無限循環(huán)。該鉤子在服務(wù)器端渲染期間不被調(diào)用。(由于數(shù)據(jù)的更改導(dǎo)致需要重新調(diào)用,因?yàn)檎{(diào)用時(shí)dom已經(jīng)進(jìn)行更新,所有要執(zhí)行依賴于dom的操作,但是大多情況下應(yīng)該避免此時(shí)更新狀態(tài)。因?yàn)榭赡軙?huì)導(dǎo)致更新的無限循環(huán))

beforeDestroy(銷毀前)在實(shí)例銷毀之前調(diào)用。實(shí)例仍然完全可用

dastory(銷毀后)在實(shí)例銷毀之后調(diào)用。調(diào)用后,所有的事件監(jiān)聽器會(huì)被移除,所有的子實(shí)例也會(huì)被銷毀。該鉤子在服務(wù)器端渲期間不被調(diào)用。(在實(shí)例銷毀之前調(diào)用,并且所有的事件監(jiān)聽器都被移除子實(shí)例全部銷毀。)

講一下vue聲明周期,有用過update嗎?


這道題沒有回答到點(diǎn)上

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一 vue vue的優(yōu)點(diǎn)? 漸進(jìn)式 組件化開發(fā) 虛擬dom 響應(yīng)式數(shù)據(jù) 單頁面路由 數(shù)據(jù)與試圖分開用戶體檢好,內(nèi)容...
    如果俞天陽會(huì)飛閱讀 364評(píng)論 0 0
  • 1.說說對(duì)雙向綁定的理解 1.1、雙向綁定的原理是什么 我們都知道Vue是數(shù)據(jù)雙向綁定的框架,雙向綁定由三個(gè)重要部...
    GuessYe閱讀 643評(píng)論 0 0
  • 一、簡(jiǎn)介 1、 Vue.js 是什么 參考網(wǎng)址:https://cn.vuejs.org/v2/guide/ind...
    滿天繁星_28c5閱讀 568評(píng)論 0 1
  • 鏈接:https://cn.vuejs.org/v2/api/#Vue-filter API TPshop中國免費(fèi)...
    zz云飛揚(yáng)閱讀 533評(píng)論 0 0
  • 前言 本文是閱讀vue文檔時(shí)的收獲和心得,與vue文檔大部分不符,閱讀vue文檔請(qǐng)移步Vue.js 創(chuàng)建一個(gè) Vu...
    極奏閱讀 689評(píng)論 0 1

友情鏈接更多精彩內(nèi)容