一隐锭、vue引入組件和方法的區(qū)別
- 引用組件:import split from '../../split/split.vue';
- 引用方法:import {formatDate} from '../../../common/js/data';
二、v-bind 和 v-on的區(qū)別
- v-bind是用于響應式的更新HTML 簡寫: :herf=''
- v-on 是用于監(jiān)聽DOM事件的 簡寫: @click=''
三计贰、計算屬性computed和方法methods的區(qū)別
同一函數(shù)定義為一個方法钦睡,或者是寫在屬性里面 得到的結果都是一樣的。
不同的是:
- 計算屬性:是基于他們的依賴進行緩存的躁倒,如果依賴的變量未發(fā)生改變荞怒,那么他不會重新求值
- 方法里面:只要觸發(fā)重新渲染,總會執(zhí)行函數(shù)
四秧秉、v-if 和 v-show的區(qū)別
- v-if :是“真正”的條件渲染褐桌,因為它會確保在切換過程中條件塊內的事件監(jiān)聽器和子組件適當?shù)乇讳N毀和重建。
- v-if 也是惰性的:如果在初始渲染時條件為假象迎,則什么也不做——直到條件第一次變?yōu)檎鏁r荧嵌,才會開始渲染條件塊。
- v-show 簡單得多——不管初始條件是什么砾淌,元素總是會被渲染啦撮,并且只是簡單地基于 CSS 進行切換。
一般來說汪厨,v-if 有更高的切換開銷赃春,而 v-show 有更高的初始渲染開銷。因此劫乱,如果需要非常頻繁地切換织中,則使用 v-show 較好;如果在運行時條件很少改變衷戈,則使用 v-if 較好狭吼。
五、v-for 循環(huán)json時殖妇,和 for in 循環(huán)json是一樣的搏嗡,有可能會改變他的順序
v-for在遍歷對象時,是按照Object.key()的結果遍歷的拉一,但是不能保證他的結果在不同的JavaScript引擎下是一致的
<li v-for='(index,key,value) in object' :key='index'>
{{index}}.{{key}}:{{value}}
</li>
data() {
return {
object:{
'3':'第一',
'1':'第二'旧乞,
'5':'第三'蔚润,
}
}
}
六、v-bind綁定class的時候尺栖,如果class有連接符-嫡纠,要用''引起來
<div class = "static" v-bind:class = "{active:isActive,'text-danger':hasError}"></div>
//也可以綁定一個變量,一個常量
<div v-bind:class = "[{active:isActive}, hasError]"></div>
七、vue不檢測更新數(shù)組
如何更新數(shù)組呢除盏。官網:https://cn.vuejs.org/v2/guide/list.html
八叉橱、vm.$set 和 vue.set 的區(qū)別
vm.$set 實例方法,它只是全局 Vue.set 的別名
九者蠕、Prop是什么
Prop 是你可以在組件上注冊的一些自定義特性窃祝。當一個值傳遞給一個 prop 特性的時候,它就變成了那個組件實例的一個屬性踱侣。
十粪小、Prop大小寫建議
如果你是dom模板,那么需要使用:camelCase(駝峰命名)
props: [‘postTitle'],
在 HTML 中使用 kebab-case 的形式
<blog-post post-title=“hello!"></blog-post>
- 如果是字符串模板抡句,就無所謂了
- 子組件傳給父組件的事件最好用 kebab-case(小寫探膊,中間-)
十一、dom模板和字符串模板
??????dom模板就是原先就寫在頁面上的待榔,能被瀏覽器識別的 html 結構逞壁,會在一加載就被瀏覽器渲染,所以要遵循 html 結構和標簽命名锐锣,不然是不會被瀏覽器解析的腌闯,也就獲取不到內容了,接著js獲取 dom 節(jié)點的內容刺下,就形成了 dom 模板绑嘹。
??????字符串模板可能原先放在服務器上啊,script標簽里橘茉,js 的字符串里工腋,原先不參與頁面渲染的一串字符,所以呢 它可以不在乎 html 結構和標簽命名畅卓,只要你最后根據(jù)模板生成內容的結構和命名正確就好擅腰。
??????這兩者其實區(qū)別就在于第一次獲取到的方式不同,dom 模板參與瀏覽器解析翁潘,而字符串模板不參與趁冈,所以 dom 寫起來要規(guī)范,而字符串模板不用拜马。
十二渗勘、全局注冊組件和局部注冊組件
之前面試的時候有個面試官問到了這個問題
- 全局注冊組件
如果想組件在任何地方都能應用,我們需要注冊全局組件
如果你使用一個像 webpack 這樣的構建系統(tǒng)俩莽,全局注冊所有的組件意味著即便你已經不再使用一個組件了旺坠,它仍然會被包含在你最終的構建結果中。
- 局部注冊組件
components就是實現(xiàn)局部注冊的屬性
十三扮超、.sync修飾符的雙向數(shù)據(jù)綁定
具體使用:https://blog.csdn.net/fabulous1111/article/details/79399696