vue面試題整理

vue是什么?

vue是構(gòu)建數(shù)據(jù)驅(qū)動的web界面的漸進式框架。Vue.js 的目標是通過盡可能簡單的 API 實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件扇苞。
vue是一種mvc和mvvm模式的開發(fā)框架层亿,他的v-model可以實現(xiàn)數(shù)據(jù)的雙向綁定。
不用操作dom節(jié)點并可以用v-for進行數(shù)據(jù)渲染拔莱。

vue的優(yōu)點是什么?

a.低耦合碗降。視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的"View"上塘秦,當View變化的時候Model可以不變讼渊,當Model變化的時候View也可以不變。
b.可重用性尊剔。你可以把一些視圖邏輯放在一個ViewModel里面爪幻,讓很多view重用這段視圖邏輯。
c.獨立開發(fā)。開發(fā)人員可以專注于業(yè)務(wù)邏輯和數(shù)據(jù)的開發(fā)(ViewModel)挨稿,設(shè)計人員可以專注于頁面設(shè)計仇轻。
d.可測試。界面素來是比較難于測試的叶组,而現(xiàn)在測試可以針對ViewModel來寫拯田。

vue當中的指令和它的用法?

v-if甩十、v-show:判斷是否隱藏船庇;v-for:數(shù)據(jù)循環(huán)出來;v-on:監(jiān)聽事件侣监、@change鸭轮、@click;v-bind:class:綁定一個屬性橄霉;v-model:實現(xiàn)雙向綁定窃爷。

v-if和v-show指令的共同點和不同點?

v-show指令是通過修改元素的displayCSS屬性讓其顯示或者隱藏。
v-if指令是直接銷毀和重建DOM達到讓元素顯示和隱藏的效果姓蜂。

v-model是什么按厘?怎么使用? vue中標簽怎么綁定事件钱慢?

可以實現(xiàn)雙向綁定逮京。
vue的model層的data屬性。綁定事件:<input @click=doLog() />

vue的雙向綁定束莫?

既可以把變量的數(shù)據(jù)綁定給節(jié)點懒棉,也可以把節(jié)點的值綁定給變量的數(shù)據(jù)。

vue路由怎么使用览绿?

1.下載安裝(用webpack新建vue項目時策严,默認選擇安裝vue-router),
2.創(chuàng)建路由文件饿敲,
3.在router文件夾里的index.js里配置路由妻导,
4.在main.js中引入router文件夾下的router.js文件
5.在app.vue里設(shè)置錨點 (router-link 和 router-view ,routerlink鏈接到的路由會展示在router-view里怀各,如果沒有router-view標簽且index.js設(shè)置路由的name屬性則頁面會直接跳轉(zhuǎn))

vue中<keep-alive>的作用栗竖?

把切換出去的組件保留在緩存中,可以保留組件的狀態(tài)或者避免重新渲染渠啤。

組件之間的傳值通信狐肢?
父組件向子組件傳值:

1.子組件在props中創(chuàng)建一個屬性,用來接收父組件傳過來的值沥曹;
2.在父組件中注冊子組件份名;
3.在子組件標簽中添加子組件props中創(chuàng)建的屬性碟联;
4.把需要傳給子組件的值賦給該屬性。

子組件向父組件傳值:

1.子組件中需要以某種方式(如點擊事件)的方法來觸發(fā)一個自定義的事件僵腺;
2.將需要傳的值作為$emit的第二個參數(shù)鲤孵,該值將作為實參傳給響應(yīng)事件的方法;
3.在父組件中注冊子組件并在子組件標簽上綁定自定義事件的監(jiān)聽辰如。

vue的生命周期內(nèi)置

vue的生命周期內(nèi)置8個鉤子函數(shù)普监,創(chuàng)建前后,掛載前后琉兜,更新前后凯正,銷毀前后。

生命周期 詳細
beforeCreate(創(chuàng)建前) 組件實例更被創(chuàng)建豌蟋,組件屬性計算之前廊散,數(shù)據(jù)對象data都為undefined,未初始化梧疲。
created(創(chuàng)建后) 組件實例創(chuàng)建完成允睹,屬性已經(jīng)綁定,數(shù)據(jù)對象data已存在幌氮,但dom未生成缭受,$el未存在。
beforeMount(載入前) vue實例的$el和data都已初始化该互,掛載之前為虛擬的dom節(jié)點贯涎,data.message未替換。
mounted(載入后) vue實例掛載完成慢洋,data.message成功渲染。
beforeUpdate(更新前) 當data變化時陆盘,會觸發(fā)beforeUpdate方法普筹。
updated(更新后) 當data變化時,會觸發(fā)updated方法隘马。
beforeDestroy(銷毀前) 組件銷毀之前調(diào)用太防。
destroyed(銷毀后) 組件銷毀之后調(diào)用,對data的改變不會再觸發(fā)周期函數(shù)酸员,vue實例已解除事件監(jiān)聽和dom綁定蜒车,但dom結(jié)構(gòu)依然存在。
axios是什么幔嗦?怎么使用酿愧?

axios 是一個基于 Promise 的,為瀏覽器和 Node.js 設(shè)計的 HTTP 客戶端邀泉。它盡可能簡化封裝了 HTTP 相關(guān)的各種操作嬉挡,在 Web App 中使用非常方便钝鸽。
Vue 2 官方建議在由 Vue 構(gòu)建的 SPA 中使用 axios 進行 HTTP 操作。
axios 用于請求后臺資源的模塊庞钢。npm install axios -S裝好拔恰,
然后發(fā)送的是跨域,需在配置文件中config/index.js進行設(shè)置基括。
后臺如果是Tp5則定義一個資源路由颜懊。js中使用import進來,
然后.get或.post风皿。返回在.then函數(shù)中如果成功河爹,
失敗則是在.catch函數(shù)中。

vuex

vuex是一個專門為vue.js設(shè)計的集中式狀態(tài)管理架構(gòu)揪阶。我把它理解為在data中的屬性需要共享給其他vue組件使用的部分昌抠,就叫做狀態(tài)。簡單的說就是data中需要共用的屬性鲁僚。如果沒有vuex 請求到的數(shù)據(jù)在頁面刷新后就必須再請求一次炊苫,但是有了vuex就可以把這些數(shù)據(jù)當做狀態(tài)保存到vuex中,在中大型項目中有很多共用的數(shù)據(jù)冰沙,就可以用vuex侨艾。
比如單頁應(yīng)用中,組件之間的狀態(tài)拓挥。音樂播放唠梨、登錄狀態(tài)、加入購物車就可以使用侥啤。

vuex有哪幾種屬性当叭?

有五種,分別是 state(訪問狀態(tài)對象)盖灸、getter(計算過濾操作)蚁鳖、mutation(修改狀態(tài))、action(異步修改狀態(tài))赁炎、 module(模塊組)

如何讓CSS只在當前組件中起作用?

將當前組件的<style>修改為<style scoped>

scss是什么醉箕?

預(yù)處理css,把css當前函數(shù)編寫徙垫,定義變量,嵌套讥裤。

vuejs與angularjs的區(qū)別?
相同點:

都支持指令:內(nèi)置指令和自定義指令姻报。
都支持過濾器:內(nèi)置過濾器和自定義過濾器己英。
都支持雙向數(shù)據(jù)綁定。
都不支持低端瀏覽器吴旋。

不同點:

1.AngularJS的學習成本高剧辐,比如增加了Dependency Injection特性寒亥,而Vue.js本身提供的API都比較簡單、直觀荧关。
2.在性能上溉奕,AngularJS依賴對數(shù)據(jù)做臟檢查,所以Watcher越多越慢忍啤。
Vue.js使用基于依賴追蹤的觀察并且使用異步隊列更新加勤。所有的數(shù)據(jù)都是獨立觸發(fā)的。
對于龐大的應(yīng)用來說同波,這個優(yōu)化差異還是比較明顯的鳄梅。

vue不操作DOM節(jié)點查找元素

一般來講,獲取DOM元素未檩,需document.querySelector(".input1")獲取這個dom節(jié)點戴尸,然后在獲取input1的值。
但是用ref綁定之后冤狡,我們就不需要在獲取dom節(jié)點了孙蒙,直接在上面的input上綁定input1,然后$refs里面調(diào)用就行悲雳。
然后在javascript里面這樣調(diào)用:this.$refs.input1 這樣就可以減少獲取dom節(jié)點的消耗了挎峦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市合瓢,隨后出現(xiàn)的幾起案子坦胶,更是在濱河造成了極大的恐慌,老刑警劉巖晴楔,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顿苇,死亡現(xiàn)場離奇詭異,居然都是意外死亡税弃,警方通過查閱死者的電腦和手機纪岁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钙皮,“玉大人,你說我怎么就攤上這事顽决《烫酰” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵才菠,是天一觀的道長茸时。 經(jīng)常有香客問我,道長赋访,這世上最難降的妖魔是什么可都? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任缓待,我火速辦了婚禮,結(jié)果婚禮上渠牲,老公的妹妹穿的比我還像新娘旋炒。我一直安慰自己,他們只是感情好签杈,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布瘫镇。 她就那樣靜靜地躺著,像睡著了一般答姥。 火紅的嫁衣襯著肌膚如雪铣除。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天鹦付,我揣著相機與錄音尚粘,去河邊找鬼。 笑死敲长,一個胖子當著我的面吹牛郎嫁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播潘明,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼行剂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钳降?” 一聲冷哼從身側(cè)響起厚宰,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎遂填,沒想到半個月后铲觉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡吓坚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年撵幽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片礁击。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡盐杂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哆窿,到底是詐尸還是另有隱情链烈,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布挚躯,位于F島的核電站强衡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏码荔。R本人自食惡果不足惜漩勤,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一感挥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧越败,春花似錦触幼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至噪猾,卻和暖如春霉祸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背袱蜡。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工丝蹭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坪蚁。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓奔穿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親敏晤。 傳聞我的和親對象是個殘疾皇子贱田,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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

  • 身體發(fā)膚受之父母 不可毀傷! 每一個人都是最好的自己 近日有點任性 允許自己就是這個樣子 允許自己不那么淑女 可以...
    源凈psy閱讀 393評論 0 1
  • 天氣陰沉 不知雨可否來臨 路旁草木郁郁蔥蔥 期待著雨水讓它們的生命更加旺盛 遠方山峰重重 綠色叢中露出片片巖石的蒼...
    千夢冰雁閱讀 91評論 0 1
  • 通化人愛吃拌菜嘴脾,但凡能拌的男摧,都給拌了。拌韮菜译打、菠菜耗拓、紅薯、紅薯葉子奏司、蘿卜乔询、苜蓿、芹菜韵洋,來了貴重親戚竿刁,直接上豬肉拌面...
    簡單明了閱讀 116評論 2 3