先來看一個需求:下圖div用v-for做了列表循環,現在想要span也一起循環,應該怎么做?
有3種方法可以實現
①:直接用v-for對span也循環一次(該方法雖然可以使用,但不要用這種方式,因為以后你會哭)
②:在div和span外面包裹一個div,給這個div加循環(該方法會額外增加一個多余的div標簽)
③:若你不想額外增加一個div,此時應該使用template來實現(推薦)
template的作用是模板占位符,可幫助我們包裹元素,但在循環過程當中,template不會被渲染到頁面上
DEMO
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>v-for</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <template v-for="(item, index) in list" :key="item.id"> <div>{{item.text}}--{{index}}</div> <span>{{item.text}}</span> </template> </div> <script> var vm = new Vue({ el: '#app', data: { list: [ { id: "010120", text: "How" }, { id: "010121", text: "are" }, { id: "010122", text: "you" } ] } }) </script> </body> </html>