写点什么

Vue-11- 条件渲染

作者:Python研究所
  • 2022 年 6 月 16 日
  • 本文字数:1117 字

    阅读完需:约 4 分钟

条件渲染

当我们需要根据不同的条件对前端页面进行不同的渲染时,我们就需要用到条件渲染。Vue 为我们提供了 v-if、v-else-if、v-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 之后:



输入其他值:


Tips

  1. v-model 实现了输入框内容和数据的绑定。

  2. v-if 等实现了根据数据的不同值展示不同的内容。

  3. v-if 模板中双引号内是单引号。

条件渲染的另一种方式

如上的形式是在页面中直接写上了 v-if 来进行条件判断,这样不是很优雅,我们尝试使用字典,根据不同的 key 来渲染不同的 value 来进行改造。

代码

<!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" placeholder="请输入正确的等级!(A,B,C,D)">        <br>        <p>你输入的内容是:{{ type }}</p>
<h2>{{ res[type] }}</h2> </div>
<script> app = new Vue({ el: "#app", data: { type: "C", res: {"C":"及格","A":"优秀","B":"优良","D":"不及格"} } }) </script></body></html>
复制代码

页面效果

初始:


初始


输入 A


输入A


输入 D


输入D


我们发现针对可以确定的条件和结果,使用字典的方式,页面代码更优雅。不过,v-if 使用起来也是非常不多呢!


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

发布于: 刚刚阅读数: 4
用户头像

公众号:Python研究所 2018.10.14 加入

云原生领域技术分享。

评论

发布
暂无评论
Vue-11-条件渲染_6月月更_Python研究所_InfoQ写作社区