2022-04-07

1.什么是vue的生命周期费奸?

Vue實例從創(chuàng)建到銷毀的過程,就是生命周期进陡。也就是從開始創(chuàng)建愿阐、初始化數(shù)據(jù)、編譯模板趾疚、掛載DOM->渲染缨历、更新->渲染以蕴、卸載等一系列過程,我們稱這是Vue的生命周期辛孵。

2.vue生命周期的作用是什么丛肮?

它的生命周期中有多個事件鉤子,讓我們在控制整個vue實例的過程時更容易形成好的邏輯魄缚。

3.Vue生命周期總共有幾個階段宝与?

它可以總共分為8個階段:創(chuàng)建前/后,載入前/后,更新前/后鲜滩,銷毀前/銷毀后

4.第一次頁面加載會觸發(fā)那幾個鉤子伴鳖?

第一次頁面加載時會觸發(fā)beforeCreate,created,beforeMount,mounted

5.DOM渲染在哪個周期中就已經(jīng)完成?

DOM渲染在mounted中就已經(jīng)完成了

6.生命周期鉤子的一些使用方法:

1.beforecreate:可以在加個loading事件徙硅,在加載實例是觸發(fā)

2.created:初始化完成時的事件寫在這里榜聂,如在這結束loading事件,異步請求也適宜在這里調(diào)用

3.mounted:掛載元素嗓蘑,獲取到dom節(jié)點

4.updated:如果對數(shù)據(jù)統(tǒng)一處理须肆,在這里寫上相應函數(shù)

5.beforeDestroy:可以一個確認停止事件的確認框

6.nextTick:更新數(shù)據(jù)后立即操作dom

7.v-show與v-if的區(qū)別

v-show是css切換,v-if是完整的銷毀和重新創(chuàng)建

使用頻繁切換時用v-show,運行時較少改變時用v-if

V-if=’false’v-if是條件渲染桩皿,當false的時候不會渲染

使用v-if的時候豌汇,如果值為false,那么頁面將不會有這個html標簽生成

v-show則是不管值是為true還是false泄隔,html元素都會存在拒贱,只是css中的display顯示或隱藏

v-show 僅僅控制元素的顯示方式,將 display 屬性在 block 和 none 來回切換佛嬉;而v-if會控制這個 DOM 節(jié)點的存在與否逻澳。當我們需要經(jīng)常切換某個元素的顯示/隱藏時,使用v-show會更加節(jié)省性能上的開銷暖呕;當只需要一次顯示或隱藏時斜做,使用v-if更加合理。

8.開發(fā)中常用的指令有哪些?

v-model:一般用在表達輸入湾揽,很輕松的實現(xiàn)表單控件和數(shù)據(jù)的雙向綁定

v-html:更新元素的innerHTML

v-show與v-if:條件渲染瓤逼,注意二者區(qū)別

v-on:click:可以簡寫為@click,@綁定一個事件库物。如果事件觸發(fā)了诱告,就可以指定事件的處理函數(shù)

v-for:基于源數(shù)據(jù)多次渲染元素或模板

v-bind:當表達式的值改變時,將其產(chǎn)生的連帶影響沟绪,響應式地作用于DOM語法

v-bind:title=”msg”簡寫:title="msg"

9.綁定class的數(shù)組用法

1.對象方法v-bind:class="{'orange':isRipe, 'green':isNotRipe}”

2.數(shù)組方法v-bind:class="[class1,class2]"

3.行內(nèi)v-bind:style="{color:color,fontSize:fontSize+'px'}”

10.路由跳轉方式

1.router-link標簽會渲染為標簽,咋填template中的跳轉都是這種;

2.另一種是編輯是導航钝凶,也就是通過js跳轉比如router.push('/home')

12.computed和watch有什么區(qū)別

computed

computed是計算屬性,也就是計算值,它更多用于計算值的場景

computed具有緩存性嗜诀,computed的值在getter執(zhí)行后是會緩存的融击,只有在它依賴的屬性值改變之后,下一次獲取computed的值時重新調(diào)用對應的getter來計算

computed適用于計算比較消耗性能的計算場景

watch

watch更多的是[觀察]的作用,類似于某些數(shù)據(jù)的監(jiān)聽回調(diào),用于觀察props $emit或者本組件的值掉盅,當數(shù)據(jù)變化時來執(zhí)行回調(diào)進行后續(xù)操作

無緩存性,頁面重新渲染時值不變化也會執(zhí)行

小結

當我們要進行數(shù)值計算,而且依賴于其他數(shù)據(jù)键俱,那么把這個數(shù)據(jù)設計為computed

如果你需要在某個數(shù)據(jù)變化時做一些事情臭埋,使用watch來觀察這個數(shù)據(jù)變化。

13.vue組件的scoped屬性的作用

在style標簽上添加scoped屬性魁莉,以表示它的樣式作用于當下的模塊痹束,很好的實現(xiàn)了樣式私有化的目的;

但是也得慎用:樣式不易(可)修改,而很多時候,我們是需要對公共組件的樣式做微調(diào)的持搜;

解決辦法:

①:使用混合型的css樣式:(混合使用全局跟本地的樣式)? /* 全局樣式 */? /* 本地樣式 */

②:深度作用選擇器(>>>)如果你希望 scoped 樣式中的一個選擇器能夠作用得“更深”,例如影響子組件焙矛,你可以使用 >>> 操作符: .a >>> .b { /* ... */ }

14.vue是漸進式的框架的理解:(主張最少,沒有多做職責之外的事)

Vue的核心的功能朵诫,是一個視圖模板引擎,但這不是說Vue就不能成為一個框架薄扁。如下圖所示剪返,這里包含了Vue的所有部件,在聲明式渲染(視圖模板引擎)的基礎上邓梅,我們可以通過添加組件系統(tǒng)脱盲、客戶端路由、大規(guī)模狀態(tài)管理來構建一個完整的框架日缨。更重要的是钱反,這些功能相互獨立,你可以在核心功能的基礎上任意選用其他的部件匣距,不一定要全部整合在一起面哥。可以看到毅待,所說的“漸進式”尚卫,其實就是Vue的使用方式,同時也體現(xiàn)了Vue的設計的理念

在我看來尸红,漸進式代表的含義是:主張最少吱涉。視圖模板引擎

每個框架都不可避免會有自己的一些特點,從而會對使用者有一定的要求外里,這些要求就是主張怎爵,主張有強有弱,它的強勢程度會影響在業(yè)務開發(fā)中的使用方式盅蝗。

比如說鳖链,Angular,它兩個版本都是強主張的墩莫,如果你用它芙委,必須接受以下東西:

必須使用它的模塊機制- 必須使用它的依賴注入- 必須使用它的特殊形式定義組件(這一點每個視圖框架都有,難以避免)

所以Angular是帶有比較強的排它性的贼穆,如果你的應用不是從頭開始题山,而是要不斷考慮是否跟其他東西集成兰粉,這些主張會帶來一些困擾故痊。

Vue可能有些方面是不如React,不如Angular玖姑,但它是漸進的愕秫,沒有強主張慨菱,你可以在原有大系統(tǒng)的上面,把一兩個組件改用它實現(xiàn)戴甩,當jQuery用符喝;也可以整個用它全家桶開發(fā),當Angular用甜孤;還可以用它的視圖协饲,搭配你自己設計的整個下層用。也可以函數(shù)式缴川,都可以茉稠,它只是個輕量視圖而已,只做了自己該做的事把夸,沒有做不該做的事而线,僅此而已。

漸進式的含義恋日,我的理解是:沒有多做職責之外的事膀篮。

15.vue.js的兩個核心是什么(數(shù)據(jù)驅(qū)動、組件系統(tǒng)岂膳。)

數(shù)據(jù)驅(qū)動:Object.defineProperty和存儲器屬性: getter和setter(所以只兼容IE9及以上版本)誓竿,可稱為基于依賴收集的觀測機制,核心是VM,即ViewModel谈截,保證數(shù)據(jù)和視圖的一致性烤黍。

16.vue常用修飾符

修飾符分為:一般修飾符,事件修身符傻盟,按鍵速蕊、系統(tǒng)

①一般修飾符:

.lazy:v-model 在每次 input 事件觸發(fā)后將輸入框的值與數(shù)據(jù)進行同步 。你可以添加 lazy 修飾符娘赴,從而轉變?yōu)槭褂?change 事件進行同步

<inputv-model.lazy="msg">

.number

.trim

1.如果要自動過濾用戶輸入的首尾空白字符

② 事件修飾符

<av-on:click.stop="doThis"></a><!-- 阻止單擊事件繼續(xù)傳播 -->

<formv-on:submit.prevent="onSubmit"></form> <!-- 提交事件不再重載頁面 -->

<av-on:click.stop.prevent="doThat"></a> <!-- 修飾符可以串聯(lián) -->

<formv-on:submit.prevent></form>?? <!-- 只有修飾符 -->

<divv-on:click.capture="doThis">...</div>?? <!-- 添加事件監(jiān)聽器時使用事件捕獲模式 -->?<!-- 即元素自身觸發(fā)的事件先在此處處理规哲,然后才交由內(nèi)部元素進行處理 -->

<divv-on:click.self="doThat">...</div>? <!-- 只當在 event.target 是當前元素自身時觸發(fā)處理函數(shù) --> <!-- 即事件不是從內(nèi)部元素觸發(fā)的 -->

<av-on:click.once="doThis"></a> <!-- 點擊事件將只會觸發(fā)一次 -->

③按鍵修飾符

全部的按鍵別名:

.enter.tab.delete(捕獲“刪除”和“退格”鍵).esc.space.up.down.left.right.ctrl.alt.shift.meta

或者

④系統(tǒng)修飾鍵 (可以用如下修飾符來實現(xiàn)僅在按下相應按鍵時才觸發(fā)鼠標或鍵盤事件的監(jiān)聽器。)

.ctrl.alt.shift.meta

或者Dosomething

20.Vue 組件中 data 為什么必須是函數(shù)

vue組件中data值不能為對象诽表,因為對象是引用類型唉锌,組件可能會被多個實例同時引用。

如果data值為對象竿奏,將導致多個實例共享一個對象袄简,其中一個組件改變data屬性值,其它實例也會受到影響泛啸。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绿语,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吕粹,老刑警劉巖种柑,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異匹耕,居然都是意外死亡聚请,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門稳其,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驶赏,“玉大人,你說我怎么就攤上這事既鞠∧甘校” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵损趋,是天一觀的道長患久。 經(jīng)常有香客問我,道長浑槽,這世上最難降的妖魔是什么蒋失? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮桐玻,結果婚禮上篙挽,老公的妹妹穿的比我還像新娘。我一直安慰自己镊靴,他們只是感情好铣卡,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著偏竟,像睡著了一般煮落。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上踊谋,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天蝉仇,我揣著相機與錄音,去河邊找鬼殖蚕。 笑死轿衔,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的睦疫。 我是一名探鬼主播害驹,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蛤育!你這毒婦竟也來了宛官?” 一聲冷哼從身側響起葫松,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎摘刑,沒想到半個月后进宝,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刻坊,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡枷恕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谭胚。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徐块。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖灾而,靈堂內(nèi)的尸體忽然破棺而出胡控,到底是詐尸還是另有隱情,我是刑警寧澤旁趟,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布昼激,位于F島的核電站,受9級特大地震影響锡搜,放射性物質(zhì)發(fā)生泄漏橙困。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一耕餐、第九天 我趴在偏房一處隱蔽的房頂上張望凡傅。 院中可真熱鬧,春花似錦肠缔、人聲如沸夏跷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽槽华。三九已至,卻和暖如春趟妥,著一層夾襖步出監(jiān)牢的瞬間硼莽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工煮纵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懂鸵,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓行疏,卻偏偏與公主長得像匆光,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酿联,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1.什么是vue的生命周期终息? Vue實例從創(chuàng)建到銷毀的過程夺巩,就是生命周期。也就是從開始創(chuàng)建周崭、初始化數(shù)據(jù)柳譬、編譯模板、...
    菜包閱讀 360評論 0 0
  • 基礎知識: vue的生命周期:beforeCreate/created续镇、beforeMount/mounted美澳、b...
    waterte閱讀 204評論 0 0
  • Vue.js(讀音/vju?/, 類似于 view)是一個構建數(shù)據(jù)驅(qū)動的web 界面的漸進式框架。Vue.js的目...
    xingyunfuhao閱讀 577評論 0 0
  • 一摸航、概念介紹 Vue.js和React.js分別是目前國內(nèi)和國外最火的前端框架制跟,框架跟類庫/插件不同,框架是一套完...
    劉遠舟閱讀 1,036評論 0 0
  • vue 學習 CDN 一. Vue 實例 1.1 創(chuàng)建一個 Vue 實例 每一個Vue應用都是通過Vue函數(shù)創(chuàng)建一...
    堅持日更的路上閱讀 251評論 0 0