vue的v-if里實現(xiàn)調用函數(shù)
更新時間:2022年07月02日 15:11:44 作者:kxukai
這篇文章主要介紹了vue的v-if里實現(xiàn)調用函數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
vue v-if調用函數(shù)
<div v-if="test()"></div>
methods屬性這樣配置
methods: {
test: function() {
var result = false;
// ...
return result;
}
}使用v-if時的注意點
1.v-if和v-else或v-else-if之間不能添加其他元素
以下是錯誤事例
<span v-if="type==1">錯誤示范</span> <span>哈哈哈</span> <p v-else>嘿嘿嘿</p>
以下是正確實例
<span v-if="type==1">正確示范</span> <p v-else>嘿嘿嘿</p> <span>哈哈哈</span>
2.v-if 為同一類型組件
(或同一模板的dom樹)來做顯示和隱藏時,最好在最外層添加key屬性來設定唯一標識,否則容易出問題
<template v-if="type=== 'username'"> ? ? <label>用戶名</label> ? ? <input placeholder="輸入用戶名"> ? </template> ? <template v-else> ? ? <label>郵箱</label> ? ? <input placeholder="輸入郵箱"> ? </template> ?
以上代碼切換時,僅僅切換placeholder,而不會重新渲染,因為他用了相同的模板
若v-if切換的是邏輯復雜的控件時,切換時不重新渲染極易出問題
需要給要重新渲染的控件添加一個key屬性,來唯一標識該控件,被key標識后會重新渲染。
實例如下:
<template v-if="type=== 'username'" key="1"> ? ? <label>用戶名</label> ? ? <input placeholder="輸入用戶名"> ? </template> ? <template v-else ?key="2"> ? ? <label>郵箱</label> ? ? <input placeholder="輸入郵箱"> ? </template>?
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue使用WEB自帶TTS實現(xiàn)語音文字互轉的操作方法
這篇文章主要介紹了vue使用WEB自帶TTS實現(xiàn)語音文字互轉,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
Vue使用fabric.js實現(xiàn)局部截圖與大圖預覽功能
這篇文章主要為大家詳細介紹了Vue如何使用fabric.js實現(xiàn)局部截圖與el-image-viewer大圖預覽功能,文中的示例代碼講解詳細,感興趣的可以了解下2024-02-02

