Vue-13-Vif和Vshow的区别

简介: Vue-13-Vif和Vshow的区别

背景


你可能已经知道 Vue 中有两个条件渲染方法,即 v-ifv-show,那么对于他两有什么却别和使用场景呢?今天我们就一起来看下。


实践


v-if

特点


  1. 真条件渲染(即要什么给什么)
  2. 开销大
  3. 适合低频操作
  4. 节省内存
  5. 可以处理 else


代码


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <div id="app">
        请输入成绩等级:<input v-model="type">
        <br>
        <p>你输入的内容是:{{ type }}</p>
        <div v-if="type=='C'">
            <h1>及格</h1>
        </div>
        <div v-else-if="type=='A'">
            <h1>优秀</h1>
        </div>
        <div v-else>
            <h1>不及格</h1>
        </div>
    </div>
    <script>
        app = new Vue({
            el: "#app",
            data: {
                type: "C"
            }
        })
    </script>
</body>
</html>
复制代码


页面效果


初始:


网络异常,图片无法展示
|


输入 A:


网络异常,图片无法展示
|


v-show

特点


  1. 假条件渲染(即一次全部给)
  2. 开销小
  3. 适合高频操作
  4. 费内存
  5. 无法处理 else


代码


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <div id="app">
        请输入成绩等级:<input v-model="type">
        <br>
        <p>你输入的内容是:{{ type }}</p>
        <div v-show="type=='C'">
            <h1>及格</h1>
        </div>
        <div v-show="type=='A'">
            <h1>优秀</h1>
        </div>
        <div v-show="type=='D'">
            <h1>不及格</h1>
        </div>
    </div>
    <script>
        app = new Vue({
            el: "#app",
            data: {
                type: "C"
            }
        })
    </script>
</body>
</html>
复制代码


页面效果


初始:


网络异常,图片无法展示
|


输入 A:


网络异常,图片无法展示
|


以上就是今天的全部内容了,感谢您的阅读,我们下节再会。

相关文章
|
22天前
|
JavaScript 前端开发 API
Vue 3 中 v-model 与 Vue 2 中 v-model 的区别是什么?
总的来说,Vue 3 中的 `v-model` 在灵活性、与组合式 API 的结合、对自定义组件的支持等方面都有了明显的提升和改进,使其更适应现代前端开发的需求和趋势。但需要注意的是,在迁移过程中可能需要对一些代码进行调整和适配。
101 60
|
3月前
|
JavaScript
在 Vue 3 组件通信方式中,Provide / Inject 与 Vuex 的区别是什么?
在 Vue 3 组件通信方式中,Provide / Inject 与 Vuex 的区别是什么?
187 65
|
2月前
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
112 6
|
6月前
|
JavaScript 编译器 API
vue2和vue3区别
vue2和vue3区别
105 4
|
2月前
|
缓存 JavaScript
Vue 中 computed 与 method 的区别
【10月更文挑战第15天】computed 和 method 是 Vue 中两个重要的选项,它们在功能和特点上存在着明显的区别。理解并合理运用它们的区别,可以帮助我们构建更高效、更具可维护性的 Vue 应用。在实际开发中,要根据具体情况灵活选择使用,以满足不同的需求。
30 2
|
5月前
|
JavaScript
Vue中ref创建_基本类型的响应式数据,在Vue2的年代,数据配在data里,Vue3的区别是不把响应数据写在data里,那个数据是响应式的用ref包一下,let name = ref(“张三“)
Vue中ref创建_基本类型的响应式数据,在Vue2的年代,数据配在data里,Vue3的区别是不把响应数据写在data里,那个数据是响应式的用ref包一下,let name = ref(“张三“)
|
5月前
|
前端开发
Vue2和Vue3的区别,在setup中定义的数据,在data(){return中能否定义到},在setup我们不能用this,写在return中可以用this,但是不能在setup否则会报错
Vue2和Vue3的区别,在setup中定义的数据,在data(){return中能否定义到},在setup我们不能用this,写在return中可以用this,但是不能在setup否则会报错
|
3月前
|
前端开发 JavaScript 开发者
React 和 Vue.js 框架的区别是什么?
React 和 Vue.js 框架的区别是什么?
|
2月前
|
缓存 JavaScript Serverless
vue中computed计算属性、watch侦听器、methods方法的区别以及用法
vue中computed计算属性、watch侦听器、methods方法的区别以及用法
128 0
|
3月前
|
JavaScript 前端开发 API
Vue2与Vue3插槽使用的区别及案例
Vue 3在插槽功能上的改进,体现了其对开发体验的持续优化。通过简化API、加强动态特性和提升性能,Vue 3使得插槽的使用更加灵活和高效。这些改进不仅有助于减轻开发者的负担,还为组件之间的高级交互和内容复用打开了新的可能性。随着Vue生态系统的不断成熟,我们有理由相信,Vue将继续为前端开发提供强大且易用的工具。
75 3