前端框架Vue------>第一天学习(2) v-if

简介: 这篇文章介绍了Vue框架中条件渲染的用法,包括`v-if`、`v-else-if`指令的使用,以及列表渲染和事件监听的基本实现。

API:https://cn.vuejs.org/v2/api/#key

文章目录

  • 5、条件渲染
    • 5.1 、 v-if
    • 5.2 、 v-else-if
  • 6 、列表渲染
  • 7 、事件监听

5、条件渲染

5.1 、 v-if

v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 truthy 值的时候被渲染。也可以用 v-else 添加一个“else 块”==
实际例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>条件渲染</title>
</head>
<body>
<div id="app">
    <h1 v-if="myChoose">我是正确条件下显示的内容</h1>
    <h1 v-else>我是错误条件下显示的内容</h1>
</div>

<script type="text/javascript">
    var app = new Vue({
        el:"#app",
        data:{
            myChoose:true
        }
    })

</script>

</body>
</html>

启动服务器效果
在这里插入图片描述

在这里插入图片描述

5.2 、 v-else-if

v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>if_else_if</title>
</head>
<body style="background-color: pink">
<div id="app">
    <div v-if = "type === 'A'">我是A</div>
    <div v-else-if ="type === 'B'">我是B</div>
    <div v-else-if ="type === 'C'">我是C</div>
    <div v-else>我是其他</div>

</div>

<script type="text/javascript">
    var app = new Vue({
        el:"#app",
        data:{
            type:'A'
        }
    })
</script>

</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 、列表渲染

我们可以用v-for指令基于一个数组来渲染一个列表。v-for 指令需要使用item in items形式的特殊语法,其中 items 是源数据数组,而 item 则是被迭代的数组元素的别名。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>列表渲染</title>
</head>
<body style="background-color: pink">

<div id="app">
    <ul>
        <li v-for="list in lists">
            {
  
  {list.message}}
        </li>
    </ul>
</div>

<script type="text/javascript">
    var app =new Vue({
        el:"#app",
        data:{
            lists:[
                {message:"北京"},
                {message:"上海"},
                {message:"河南"}
            ]
        }
    })
</script>

</body>
</html>

在这里插入图片描述

7 、事件监听

可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>事件处理</title>
</head>
<body style="background-color: pink">

<div id="app">
    <button v-on:click="blue">Blue</button>
</div>

<script type="text/javascript">
    var app = new Vue({
        el:"#app",
        methods:{
            blue:function (event) {
                alert("触发了点击按钮事件")
            }


        }
    })
</script>

</body>
</html>

在这里插入图片描述

传递数值

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>事件处理</title>
</head>
<body style="background-color: pink">

<div id="app">
    <button v-on:click="blue">Blue</button>
</div>

<script type="text/javascript">
    var app = new Vue({
        el:"#app",
        data:{
            message:"Hello Vue"
        },
        methods:{
            blue:function (event) {
                alert(this.message)
            }


        }
    })
</script>

</body>
</html>

在这里插入图片描述

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
1月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
38 0
|
14天前
|
前端开发 开发者 C++
独家揭秘:前端大牛们如何高效学习新技术,保持竞争力!
【10月更文挑战第31天】前端技术飞速发展,如何高效学习新技术成为关键。本文通过对比普通开发者与大牛们的策略,揭示了高效学习的秘诀:明确目标、主动探索、系统资源、实践应用和持续学习。通过这些方法,大牛们能更好地掌握新技术,保持竞争力。示例代码展示了如何通过实践加深理解。
32 4
|
20天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
20天前
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略
|
25天前
|
JavaScript 前端开发 算法
前端优化之超大数组更新:深入分析Vue/React/Svelte的更新渲染策略
本文对比了 Vue、React 和 Svelte 在数组渲染方面的实现方式和优缺点,探讨了它们与直接操作 DOM 的差异及 Web Components 的实现方式。Vue 通过响应式系统自动管理数据变化,React 利用虚拟 DOM 和 `diffing` 算法优化更新,Svelte 通过编译时优化提升性能。文章还介绍了数组更新的优化策略,如使用 `key`、分片渲染、虚拟滚动等,帮助开发者在处理大型数组时提升性能。总结指出,选择合适的框架应根据项目复杂度和性能需求来决定。
|
1月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
89 4
|
1月前
|
JavaScript 前端开发 Python
django接收前端vue传输的formData图片数据
django接收前端vue传输的formData图片数据
38 4
|
1月前
|
JavaScript 前端开发 Java
VUE学习四:前端模块化,ES6和ES5如何实现模块化
这篇文章介绍了前端模块化的概念,以及如何在ES6和ES5中实现模块化,包括ES6模块化的基本用法、默认导出与混合导出、重命名export和import,以及ES6之前如何通过函数闭包和CommonJS规范实现模块化。
80 0
VUE学习四:前端模块化,ES6和ES5如何实现模块化
|
1月前
|
前端开发 JavaScript 小程序
前端新机遇!为什么我建议学习鸿蒙?
【10月更文挑战第4天】前端新机遇!为什么我建议学习鸿蒙?
110 0
前端新机遇!为什么我建议学习鸿蒙?
|
1月前
|
JavaScript 前端开发 网络架构