1 4 Vue 條件渲染和列表渲染

2021-10-02 13:49:56 字數 2830 閱讀 6844

1. 條件渲染

v-if、v-else-if、v-else / v-show

>

v-if

="status === 1"

>

當status為1 顯示該行p

>

v-else-if

="status === 2"

>

當status為2 顯示該行p

>

v-else

="status === 3"

>

當status為3 顯示該行p

>

v-show

="status === 1"

>

當status為1 顯示該行,否則隱藏該行p

>

div>

src=

"">

script

>

>

newvue(}

)script

>

v-if使用場景

v-show使用場景

2. 列表渲染

v-for

當需要將乙個陣列遍歷或列舉乙個物件迴圈顯示時,就會用到列表渲染指令v-for。

它的表示式需結合in來使用,類似 item in items的形式。

列表渲染也支援用of來代替in作為分隔符。

v-for渲染物件:可以用v-for來遍歷乙個物件屬性。

>

>

陣列h4

>

>

v-for

="item in items"

>

}li>

ul>

>

v-for

="(item,index) of items"

>

}li>

ul>

>

>

物件h4

>

>

v-for

="item in obj"

>

}li>

ul>

div>

src=

"">

script

>

>

newvue(,

,,,]

, obj:}}

)script

>

維護狀態

為了給vue乙個提示,以便它能跟蹤每個節點的身份,從而重用和重新排序現有元素,你需要為每項提供乙個唯一key屬性

>

>

v-for

="item in items"

>

}li>

ul>

>

v-for

="item in items"

v-bind:key

="item.name"

>

}li>

ul>

@click

="addlist"

>

陣列新增元素button

>

div>

src=

"">

script

>

>

newvue(,

,,,]

},methods:)}

}})script

>

效果圖帶key只會變動那個新增的節點,不會全部更新,提高效能

列表渲染

vue將被偵聽的陣列的變異方法進行了包裹,所以它們也將會觸發檢視更新,被包裹過的方法有:push(),pop(),shift(),unshift(),splice(),sort(), reverse();

當使用非變異方法時,可以用新陣列替換舊陣列,涉及方法有 filter()、concat()和slice()

兩種情況不能監聽:當利用索引直接設定乙個陣列項時;當修改陣列的長度時。

var vm =

newvue(}

)vm.items[1]

='x'

// 不是響應性的

vm.items.length =

2

顯示過濾/排序的結果

如果想要顯示乙個陣列經過過濾或排序後的版本,而不實際改變或重置原始資料,可以建立乙個計算屬性,來返回過濾或排序後的陣列

>

>

v-for

="n in eventnumbers"

>

}li>

ul>

div>

src=

"">

script

>

>

newvue(,

computed:)}

}})script

>

template上使用v-for

可以利用帶有v-for的來迴圈渲染一段包含多個元素的內容

>

v-for

="item in items"

>

>

}li>

class

="divider"

role

="presentation"

>

li>

template

>

ul>

注意事項

Vue 模板渲染 條件渲染 列表渲染

當獲取到後端資料後,我們會把它按照一定的規則載入到寫好的模板中,輸出成在瀏覽器中顯示的 html,這個過程就稱之為渲染。而 vue.js 是在前端 即瀏覽器內 進行的模板 渲染。1.前後端渲染對比 前端渲染 的優勢 是在瀏覽器裡利用 js 把資料和 html 模板進行組合,業務分離,後端只需要提供資...

vue入門 條件和列表渲染

v if指令,很容器理解就是乙個條件判斷,當條件成立時渲染 另外,還能夠使用v else if和v else,v else元素必須緊跟在帶v if或者v else if的元素的後面,否則它將不會被識別。bc 根據上邊的例子,v if 主要就是決定元素的顯示和隱藏 還有另外乙個相同作用的指令v sho...

vue 模板 計算 偵聽 條件渲染 列表渲染

通常是根據已有的 data 資料,計算生成新的資料,把這種結構叫做計算屬性,計算屬性在 vue 的選項物件中使用computed屬性來設定,例 注意,通常對於計算屬性,不會重新用 賦值。計算屬性與方法的區別 計算屬性的值會被快取,只有當其所依賴的資料發生變化後,才會重新計算計算屬性的值,計算完畢後繼...