Vue 中使用v-for語句拋出錯誤的解決方案
今天在維護以前的項目的時候遇見了下面的報錯情況,開始我以為是因為jQuery和Vue沖突了,所以把以前的jQuery改了,但是還是出現同樣的錯誤…通過查閱資料,發現是因為循環的變量里面的值重復了,導致Vue報錯。
接下來查了一下解決方案,發現在Vue 2.0之前的版本可以通過在v-for語句后面加如下語句解決:
<div v-for="item in items" track-by="id">
不過在Vue 2.0之后的版本中track-by改為了key,所以對于Vue 2.0之后的版本可以使用:
<div v-for="item in items" v-bind:key="item.id">
其實,在查看API返回的JSON數據后,發現重復請求了接口,所以,這個問題本來就不應該出現的。所以特意在接口獲取數據的地方加上了一個過濾方法:
self.goodsList.indexOf(arr) === -1 ? self.goodsList.push(arr) : undefined
這句語句就是說如果獲取的數組元素不重復的話,才將數組元素加入到列表中。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答