国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue.js學習教程之列表渲染詳解

2024-05-06 15:17:06
字體:
來源:轉載
供稿:網友

本文主要給大家介紹了關于Vue.js列表渲染的相關資料,分享出來給大家參考學習,下面來看看詳細的介紹:

v-for

可以使用 v-for 指令基于一個數組渲染一個列表。這個指令使用特殊的語法,形式為item in items,items 是數據數組,item 是當前數組元素的別名:

示例:

<ul id="example-1"> <li v-for="item in items"> {{ item.message }} </li></ul>
var example1 = new Vue({ el: '#example-1', data: { items: [  { message: 'Foo' },  { message: 'Bar' } ] }})

在 v-for 塊內我們能完全訪問父組件作用域內的屬性,另有一個特殊變量 $index,正如你猜到的,它是當前數組元素的索引:

<ul id="example-2"> <li v-for="item in items"> {{ parentMessage }} - {{ $index }} - {{ item.message }} </li></ul>
var example2 = new Vue({ el: '#example-2', data: { parentMessage: 'Parent', items: [  { message: 'Foo' },  { message: 'Bar' } ] }})

另外,你可以為索引指定一個別名(如果 v-for 用于一個對象,則可以為對象的鍵指定一個別名):

<div v-for="(index, item) in items"> {{ index }} {{ item.message }}</div>

從 1.0.17 開始可以使用 of 分隔符,更接近 JavaScript 遍歷器語法:

<div v-for="item of items"></div>

template v-for

類似于 template v-if,也可以將 v-for 用在 <template> 標簽上,以渲染一個包含多個元素的塊。例如:

<ul> <template v-for="item in items"> <li>{{ item.msg }}</li> <li class="divider"></li> </template></ul>

數組變動檢測

變異方法

Vue.js 包裝了被觀察數組的變異方法,故它們能觸發視圖更新。

被包裝的方法有:

push() pop() shift() unshift() splice() sort() reverse()

你可以打開瀏覽器的控制臺,用這些方法修改上例的 items 數組。例如:example1.items.push({ message: 'Baz' })

替換數組

變異方法,如名字所示,修改了原始數組。相比之下,也有非變異方法,如 filter() , concat()slice() ,不會修改原始數組而是返回一個新數組。在使用非變異方法時,可以直接用新數組替換舊數組:

example1.items = example1.items.filter(function (item) { return item.message.match(/Foo/)})

可能你覺得這將導致 Vue.js 棄用已有 DOM 并重新渲染整個列表——幸運的是并非如此。 Vue.js 實現了一些啟發算法,以最大化復用 DOM 元素,因而用另一個數組替換數組是一個非常高效的操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 司法| 余干县| 满城县| 离岛区| 唐河县| 永康市| 甘孜| 谷城县| 台南市| 双牌县| 乃东县| 吉安市| 永新县| 东港市| 瑞昌市| 济阳县| 利辛县| 广宗县| 肥城市| 深泽县| 崇左市| 太谷县| 南丹县| 屏东市| 鹰潭市| 册亨县| 明星| 宁陵县| 清丰县| 玉门市| 涿鹿县| 广河县| 江门市| 资中县| 塘沽区| 上思县| 舟曲县| 马关县| 民乐县| 凤山市| 中江县|