v if 和v for的優先順序

2021-10-25 18:13:04 字數 1325 閱讀 9136

v-ifv-for一起使用時,v-for具有比v-if更高的優先順序,這意味著v-if將分別重複執行於每個v-for迴圈中

所以,不推薦v-if和v-for同時使用

for=

"user in activeusers"

:key=

"user.id"

>

}<

/li>

<

/ul>

##   或者:

"shouldshowusers"

>

for=

"user in users"

:key=

"user.id"

>

}<

/li>

<

/ul>

computed:)}

}

v-for

="user in activeusers"

:key=

"user.id"

>

}<

/li>

<

/ul>

當它們處於同一節點,v-for的優先順序比v-if更高,這意味著v-if將分別重複執行於每個v-for迴圈中。當你想為僅有的一些項渲染節點時,這種優先順序的機制會十分有用,如下:

for=

"todo in todos" v-if=

"!todo.iscomplete"

>

}<

/li>

上面的**只傳遞了未完成的 todos。

而如果你的目的是有條件地跳過迴圈的執行,那麼可以將v-if置於外層元素 (或 `)上。如:

"todos.length"

>

for=

"todo in todos"

>

}<

/li>

<

/ul>

else

>no todos left!

<

/p>

v for和v if優先順序

原始碼位置vue src complier codegen index.js function genelement el astelement,state codegenstate string if el.staticroot el.staticprocessed else if el.once...

v for與v if的優先順序

一般我們在兩種常見的情況下會傾向於這樣做 詳解當 vue 處理指令時,v for比v if具有更高的優先順序,所以這個模板 v for user in users v if user.isactive key user.id li ul 將會經過如下運算 this.users.map functio...

1 v for和v if的優先順序哪個更高

doctype html vue事件處理 title head demo v for和v if誰的優先順序高?應該如何正確使用避免效能問題?h1 for child in children v if isfolder p div vue.js script 建立例項 newvue computed ...