報錯:vue
v-for使用key,須要在key前加上:key;
srcList是個數組,key值綁定不能是數據類型Object的item,應該綁定item對象下一個屬性,這個屬性不能重複出現,不然依舊會出現key值報錯;你這裏能夠改爲v-for="(item,index) in srcList" :key="index",index對象數組裏的索引,不會重複出現,也就不會報錯數組
計算屬性是自動監聽依賴值的變化,從而動態返回內容,監聽是一個過程,在監聽的值變化時,能夠觸發一個回調,並作一些事情緩存
因此區別來源於用法,只是須要動態值,那就用計算屬性;須要知道值的改變後執行業務邏輯,才用 watch,用反或混用雖然可行,但都是不正確的用法fetch
watch 用法: 例若有請求須要再也沒初始化的時候就執行一次,而後監聽他的變化,不少人這麼寫:this
created(){ this.fetchPostList() }, watch: { searchInputValue(){ this.fetchPostList() } }
上面這種寫法,咱們徹底能夠以下寫:spa
watch: { searchInputValue:{ handler: 'fetchPostList',
immediate: true } }
immediate:true表明若是在 wacth 裏聲明瞭以後,就會當即先去執行裏面的handler方法,若是爲 false就跟咱們之前的效果同樣,不會在綁定的時候就執行。code
簡單來講,就是把一個組件的編譯緩存起來對象