目录 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属性这样配置 meth
目录
- 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>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。