剛用這幾個東西的時候,可能會搞混。因此總結了一些相同點和不一樣點,具體選哪一個要看需求,要準確判斷css
計算屬性和方法的不一樣和相同之處html
const Acomponent= () => import('@/components/Acomponent')
data() { _a: 0 //取不到 }
<img :src='imgUrl'> //若是是寫絕對地址沒問題,可是相對地址就不行了,這是webpack的緣由
.class1{ background:url(url1) } .class2{ background:url(url2) } <div :class='computedStyle'></div> computedStyle(){ if(xxx){ return {.class1:true} }else{ return {.class2:true} } }
<div :id="test | formatId"></div>
<div id="father" @listenChild="handle">father</div> handle(parma) { console.log(parma) } <div id="child" @click="handleClick">child</div> handleClick() { this.$emit('listenChild', parma) }
若是是cdn靜態資源,能夠加上域名如www.cdn.com打包後的地址自動變爲www.cdn.com/index.jsvue
<div id='app' v-cloak> {{msg}} </div> [v-cloak] { display: none; }
這樣當msg還沒被渲染出來以前,是不會顯示這個div的,即不會出現{{msg}}這個字符串node
<style>標籤里加上scoped,會在每一個標籤上加上一段data-v-xxx,編譯出來的scc都會加上[data-v-xxx]來限定範圍,只在這個頁面有效,去掉scoped就不會產生data-v-xxx了。jquery
this.$nextTick(() => { this.$refs.inout.$el.focus(); })
data() { return { mark: true } } render: (createElement) => { return createElement('h1', this.mark ? '標題' : ''); }
例子webpack
getters: { formatTime: _s => formatTime(_s.timeStr) }
event busios
用axios獲取本地文件,好比json文件的時候,通常放在static文件夾裏,可是寫路徑時不能寫絕對路徑,應該寫'./static/a.json',雖然這個路徑是錯的,可是node會直接從static裏去找。
寫成這樣的相對路徑是由於打包後的json文件會放在static文件夾下,而index在static文件夾外面,因此爲了調試和打包後部署在任何文件目錄下均可以訪問到本地的json文件,寫錯相對路徑。web
<router-link tag='div' class="tab-item" to="/recommend"> <span class="tab-link">推薦</span> </router-link>
publicPath: '../../'
ue相對路徑修改npm