vue的v-if里实现调用函数

2022-10-14,,

这篇文章主要介绍了vue的v-if里实现调用函数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

目录
  • vue v-if调用函数
    • methods属性这样配置 
  • 使用v-if时的注意点
    • 1.v-if和v-else或v-else-if之间不能添加其他元素
    • 2.v-if 为同一类型组件

vue v-if调用函数

<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的v-if使用方法
  • 对vue中v-if的常见使用方法详解
  • Vue.js中v-show和v-if指令的用法介绍

《vue的v-if里实现调用函数.doc》

下载本文的Word格式文档,以方便收藏与打印。