【vue】elementUI報錯:_self.$scopedSlots.default is not a function
阿新 • • 發佈:2020-07-29
Vue
會盡可能高效地渲染元素,通常會複用已有元素而不是從頭開始渲染。
這樣也不總是符合實際需求,所以 Vue 為你提供了一種方式來表達“這兩個元素是完全獨立的,不要複用它們”。只需新增一個具有唯一值的key
屬性即可。見詳情
錯誤程式碼
<!-- 程式碼塊1 --> <el-table-column label="授信申請狀態" v-if="type"> <template slot-scope="scope">{{ scope.row.data2 | format }}</template> </el-table-column> <!-- 程式碼塊2 --> <el-table-column prop="data1" label="聯絡人手機" v-else></el-table-column>
報錯分析
如果優先顯示程式碼塊1,然後改變type值,顯示程式碼塊2,這時Vue為了快速渲染頁面,會優先拿程式碼1的程式碼渲染到程式碼塊2的位置,但是程式碼塊2並沒有定義slot-scope
,這時就會報標題錯誤。
解決方案
- 給使用
v-if
和v-else
的地方加上key
- 將
v-if
和v-else
換成v-show