v-if 也是惰性的:若是在初始渲染時條件爲假,則什麼也不作——直到條件第一次變爲真時,纔會開始渲染條件塊。html
相比之下,v-show 就簡單得多——無論初始條件是什麼,元素老是會被渲染,而且只是簡單地基於 CSS 進行切換。vue
通常來講,v-if 有更高的切換開銷,而 v-show 有更高的初始渲染開銷。所以,若是須要很是頻繁地切換,則使用 v-show 較好;若是在運行時條件不多改變,則使用 v-if 較好。node
beforeDestroy
destroyed
beforeCreate
created
beforeMount
mounted
複製代碼
只有從user --> 到其餘路由時纔會觸發ios
beforeCreate
created
beforeMount
mounted
複製代碼
resolve: {
extensions: ['', '.js', '.vue', '.json'],
fallback: [path.join(__dirname, '../node_modules')],
alias: {
'vue$': 'vue/dist/vue.common.js',
'src': path.resolve(__dirname, '../src'),
'assets': path.resolve(__dirname, '../src/assets'),
'components': path.resolve(__dirname, '../src/components')
}
},
vue包package.json的main指向 "dist/vue.runtime.common.js"
<!-- 這裏的vue$這樣是啥意思? 在組件中import vue from 'vue'究竟引入的是哪一個 -->
複製代碼
<!-- 下面的localCompInfo若是換成compInfo會報錯: xxx not setter -->
...mapState({
localCompInfo: state => state.comp.compInfo
}),
複製代碼
每當同一個文檔的瀏覽歷史(即history對象)出現變化時,就會觸發popstate事件。 注意,僅僅調用pushState()方法或replaceState()方法 ,並不會觸發該事件,只有用戶點擊瀏覽器倒退按鈕和前進按鈕,或者使用 JavaScript 調用History.back()、History.forward()、History.go()方法時纔會觸發。另外,該事件只針對同一個文檔,若是瀏覽歷史的切換,致使加載不一樣的文檔,該事件也不會觸發。 注意,頁面第一次加載的時候,瀏覽器不會觸發popstate事件vue-router
那麼總結一下就是:vuex
一個組件上的 v-model 默認會利用名爲 value 的 prop 和名爲 input 的事件,可是像單選框、複選框等類型的輸入控件可能會將 value 特性用於不一樣的目的。model 選項能夠用來避免這樣的衝突vue-cli
Vue.component('base-checkbox', {
model: {
prop: 'checked',
event: 'change'
},
props: {
checked: Boolean
},
template: ` <input type="checkbox" v-bind:checked="checked" v-on:change="$emit('change', $event.target.checked)" > `
})
<base-checkbox v-model="lovingVue"></base-checkbox> 複製代碼