Vue初體驗(yàn) | v-for循環(huán)創(chuàng)建視圖塊

這幾天慢慢的開始寫了一些界面,一些簡(jiǎn)單的跳轉(zhuǎn)邏輯處理等,還是很有成就感的, 昨天呢,寫到了這樣的一個(gè)界面:

第一反應(yīng),iview里面的Tabs標(biāo)簽頁(yè)嵌套Card,然后根據(jù)數(shù)據(jù)源顯示不同的數(shù)據(jù),說干就干,開始了堆代碼:

效果也很好,是我想要的:

但是呢, 寫完我就泄氣了,這又不是寫demo,這樣寫還怎么動(dòng)態(tài)創(chuàng)建, 怎么動(dòng)態(tài)顯示內(nèi)容啊~ 白寫/(ㄒoㄒ)/~~

那怎么辦呢?

js語(yǔ)言雖然我不熟練, 但是往哪里思考我有大量經(jīng)驗(yàn)啊,這樣的界面,放Objective-C語(yǔ)言下, 就是一個(gè)UITableView的事情, 如果不用tableView, 那也就是根據(jù)數(shù)據(jù)源進(jìn)行一個(gè)for循環(huán)創(chuàng)建嘛。

根據(jù)數(shù)據(jù)源進(jìn)行for循環(huán)創(chuàng)建, 可行~

那究竟怎么做呢?使用v-for指令進(jìn)行列表渲染?。。。?/strong>

- 用v-for把一個(gè)數(shù)組對(duì)應(yīng)為一組元素

我們用v-for指令根據(jù)一組數(shù)組的選項(xiàng)列表進(jìn)行渲染。v-for指令需要使用 item in items 形式的特殊語(yǔ)法,items 是源數(shù)據(jù)數(shù)組并且 item 是數(shù)組元素迭代的別名。

如下截圖是vue.js官網(wǎng)上的案例:

由此我們可以看出,items可以作為我們的數(shù)據(jù)源為我們提供界面所需要數(shù)據(jù), 我們只需要使用v-for將列表進(jìn)行渲染,很簡(jiǎn)單的樣子哈哈~

真的是這樣嗎? 我又往下翻了翻官方文檔描述:

當(dāng) Vue.js 用 v-for 正在更新已渲染過的元素列表時(shí),它默認(rèn)用“就地復(fù)用”策略。如果數(shù)據(jù)項(xiàng)的順序被改變,Vue 將不會(huì)移動(dòng) DOM 元素來匹配數(shù)據(jù)項(xiàng)的順序, 而是簡(jiǎn)單復(fù)用此處每個(gè)元素,并且確保它在特定索引下顯示已被渲染過的每個(gè)元素。這個(gè)類似 Vue 1.x 的track-by="$index" 。

這個(gè)默認(rèn)的模式是高效的,但是只適用于不依賴子組件狀態(tài)或臨時(shí) DOM 狀態(tài) (例如:表單輸入值) 的列表渲染輸出。

為了給 Vue 一個(gè)提示,以便它能跟蹤每個(gè)節(jié)點(diǎn)的身份,從而重用和重新排序現(xiàn)有元素,你需要為每項(xiàng)提供一個(gè)唯一 key 屬性。理想的 key值是每項(xiàng)都有的唯一 id。這個(gè)特殊的屬性相當(dāng)于 Vue 1.x 的 track-by ,但它的工作方式類似于一個(gè)屬性,所以你需要用 v-bind來綁定動(dòng)態(tài)值。

官方給了個(gè)示例,如下:

這下子我清晰了~

直接上代碼吧:

從上面代碼可以看出, 上面我們用一個(gè)div標(biāo)簽包裹c(diǎn)ard, 然后對(duì)整個(gè)div代碼塊使用v-for指令渲染, 使用v-bind綁定數(shù)據(jù)源;

在script中返回我們的messages數(shù)據(jù)源, 這里的數(shù)據(jù)到時(shí)候可以替換為我們請(qǐng)求回來的動(dòng)態(tài)數(shù)據(jù), 如此簡(jiǎn)單就解決了, 開心開心~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,168評(píng)論 0 29
  • 主要還是自己看的,所有內(nèi)容來自官方文檔。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,536評(píng)論 0 25
  • 1.安裝 可以簡(jiǎn)單地在頁(yè)面引入Vue.js作為獨(dú)立版本,Vue即被注冊(cè)為全局變量,可以在頁(yè)面使用了。 如果希望搭建...
    Awey閱讀 11,278評(píng)論 4 129
  • vue概述 在官方文檔中,有一句話對(duì)Vue的定位說的很明確:Vue.js 的核心是一個(gè)允許采用簡(jiǎn)潔的模板語(yǔ)法來聲明...
    li4065閱讀 7,594評(píng)論 0 25
  • 1. Vue 實(shí)例 1.1 創(chuàng)建一個(gè)Vue實(shí)例 一個(gè) Vue 應(yīng)用由一個(gè)通過 new Vue 創(chuàng)建的根 Vue 實(shí)...
    王童孟閱讀 1,089評(píng)論 0 2

友情鏈接更多精彩內(nèi)容