当前位置: 首页 > news >正文

批发价格广州网站建设长春网站建设解决方案

批发价格广州网站建设,长春网站建设解决方案,国外免费服务器地址,wordpress主题 mnews1.9文章目录 一、条件渲染1.1 概述1.2 演示代码 二、列表渲染2.1 使用 指令 v-for 遍历数组2.2 **使用 指令 v-for 遍历对象** 十、案例作业十一、总结 在前端开发过程中,条件和循环是经常被用到的逻辑。vue中封装了自己的组件渲染指令,可以更加方便的帮助开…

文章目录

    • 一、条件渲染
      • 1.1 概述
      • 1.2 演示代码
    • 二、列表渲染
      • 2.1 使用 指令 v-for 遍历数组
      • 2.2 **使用 指令 v-for 遍历对象**
    • 十、案例作业
    • 十一、总结

在前端开发过程中,条件和循环是经常被用到的逻辑。vue中封装了自己的组件渲染指令,可以更加方便的帮助开发者快速完成页面的布局。从而使得开发这个将更多的经历放在业务逻辑开发上面。下面我们就来讲一下这相关的几个指令的应用。

一、条件渲染

1.1 概述

指令 v-if、v-else-if 、v-else

​ 多个元素,通过条件判断动态的向DOM树内添加或者删除DOM元素,操作的是DOM结构

​ 应用场景:渲染后变化比较少,建议使用 v-if

数字化管理平台
Vue3+Vite+VueRouter+Pinia+Axios+ElementPlus
权限系统-商城
个人博客地址

指令 v-show

​ 通过设置样式 display:none; 控制元素的隐藏和显示,此时元素已经渲染到页面,操作的是样式

​ 应用场景:渲染后变化比较多,从性能优化的角度来讲建议使用 v-show

1.2 演示代码

<script setup>
import { ref } from "vue"
const score = 80;
const obj = {name: "Jack",age: 23
}
let flag = ref(true)
</script>
<template><div><!-- v-if、v-else-if、v-else 三个条件渲染指令,直接操作dom;使用场景:页面第一次渲染的时候根据条件渲染对应的dom,且对DOM操作频率很低的情况下使用 --><div v-if="score >= 90">学生成绩大于90,优秀</div><div v-else-if="score >= 80">学生成绩大于80,良好</div><div v-else-if="score >= 70">学生成绩大于70,中等</div><div v-else-if="score >= 60">学生成绩大于60,及格</div><div v-else>学生成绩小于60,不及格</div><!-- v-if 可以单独,多次的使用;但是v-else-if、v-else必须要结合v-if去使用 --><hr><hr><!-- v-show 操作的是样式,不管条件是否成立,都会操作dom --><div v-show="score >= 90">学生成绩大于90,优秀</div><div v-show="score >= 80 && score < 90">学生成绩大于80,良好</div><div v-show="score >= 70 && score < 80">学生成绩大于70,中等</div><div v-show="score >= 60 && score < 70">学生成绩大于60,及格</div><div v-show="score <= 60 && score < 60">学生成绩小于60,不及格</div><!-- v-show 是一个单独的指令,类似于 v-if 单独使用一样,每一个条件都是独立。 --><hr><hr><button @click="flag = !flag">切换</button><Transition><div class="box" v-show="flag"></div></Transition></div>
</template><style scoped>
.box {height: 300px;background-color: blue;
}/* 下面我们会解释这些 class 是做什么的 */
.v-enter-active,
.v-leave-active {transition: opacity 0.5s ease;
}.v-enter-from,
.v-leave-to {opacity: 0;
}
</style>

二、列表渲染

2.1 使用 指令 v-for 遍历数组

语法 v-for = " (item, index) in arr "

参数 item代表数组中的每一项 index 代表每一项所对应的索引

key的作用 为了高效更新虚拟DOM,帮助Vue快速区分不同元素,用 key 来给每个节点做唯一标识

<script setup>
import { ref, reactive } from 'vue'const arr = ["banana", "orange", "apple", "kiwi fruit", 'peal']const stuData = ref([{idCard: 1,name: "Jack",age: 23
}, {idCard: 2,name: "Lucy",age: 18
}, {idCard: 3,name: "David",age: 26
}])const addInfo = () => {console.log(stuData.value.length)stuData.value.push({idCard: stuData.value.length + 1,name:"luosi",age:23})
}
</script>
<template><!-- v-for 指令可以实现数组和对象的列表数据渲染 --><ul><li :key="index" v-for="item,index in arr">{{ item }} ~ {{ index }}</li><!-- <li>{{ arr[1] }}</li> --></ul><hr><button @click="addInfo">添加一个学生信息</button><ul><li :key="item.idCard" v-for="item of stuData">编号:{{ item.idCard }}姓名:{{ item.name }}年龄:{{ item.age }}</li></ul>
</template>
<style scoped></style>

2.2 使用 指令 v-for 遍历对象

语法 v-for = “( item, key, index) in obj”

参数 item代表对象中的每一项 key代表每一项对应的键名 index代表每一项对应的索引

<script setup>
import { ref, reactive } from 'vue'const obj = reactive({idCard: 1,name: "张三",age: 23,
})const addAttr = () => {console.log(obj)obj.sex = "男"
}
</script>
<template><ul><li :key="key" v-for="item,key in obj">{{ item }} ~ {{ key }}</li><!-- <li>{{ obj.age }}</li> --></ul><br><ul><li v-for="item, key of obj">{{ item }} ~ {{ key }}</li></ul><button @click.once="addAttr">增加属性</button>
</template>
<style scoped></style>

注:2.x 版本中在一个元素上同时使用 v-if 和 v-for 时,v-for 会优先作用。而3.x 版本中 v-if 总是优先于 v-for 生效。由于语法上存在歧义,建议避免在同一元素上同时使用两者。

十、案例作业

在这里插入图片描述

十一、总结

v-if指令 作为一个条件渲染,当他为true的时候才会渲染出当前的节点

v-for指令基于一个数组来渲染列表 ,v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组或者对象,而 item 则是被迭代的数组元素的别名 在v-for的时候都会被要求设置Key值,而且每一个Key值都是独一无二的。

但在使用两种类型的指令时需要注意:

  • 永远不要把 v-if 和 v-for 同时用在一个元素上,带来性能方面的浪费(每次渲染都会先循环再进行条件判断)
  • 如果避免出现这种情况,则在外层嵌套 template (页面渲染不生成dom节点),再这一层进行 v-if 判断,然后再内部进行 v-for 循环
<template v-for="(item) in textValue"><div  :key="item.text" v-if="item.show" >{{item.text}}</div>
</template>

且需要注意的是:两者混合使用,在vue2和vue3中的优先级是不同的。


文章转载自:
http://betray.pqbz.cn
http://bonds.pqbz.cn
http://wand.pqbz.cn
http://spinose.pqbz.cn
http://fedai.pqbz.cn
http://rentable.pqbz.cn
http://flagellated.pqbz.cn
http://coachwhip.pqbz.cn
http://unswathe.pqbz.cn
http://loudness.pqbz.cn
http://snell.pqbz.cn
http://euhemerize.pqbz.cn
http://catch.pqbz.cn
http://suffusion.pqbz.cn
http://prison.pqbz.cn
http://subflooring.pqbz.cn
http://noteworthy.pqbz.cn
http://inferential.pqbz.cn
http://brickmason.pqbz.cn
http://sunna.pqbz.cn
http://stronghold.pqbz.cn
http://balinese.pqbz.cn
http://unissued.pqbz.cn
http://autoland.pqbz.cn
http://etu.pqbz.cn
http://gilbertese.pqbz.cn
http://typhoon.pqbz.cn
http://remainderman.pqbz.cn
http://chautauqua.pqbz.cn
http://exaltedly.pqbz.cn
http://avowably.pqbz.cn
http://kickback.pqbz.cn
http://hydrowire.pqbz.cn
http://hemiplegia.pqbz.cn
http://literally.pqbz.cn
http://caid.pqbz.cn
http://anthroposophy.pqbz.cn
http://subkingdom.pqbz.cn
http://haemophilia.pqbz.cn
http://pinafore.pqbz.cn
http://capacitron.pqbz.cn
http://pucker.pqbz.cn
http://printable.pqbz.cn
http://winesap.pqbz.cn
http://unprized.pqbz.cn
http://epithelioma.pqbz.cn
http://lanthanide.pqbz.cn
http://achech.pqbz.cn
http://fetichism.pqbz.cn
http://catskin.pqbz.cn
http://spasmodism.pqbz.cn
http://poe.pqbz.cn
http://foreship.pqbz.cn
http://shlepper.pqbz.cn
http://ineffective.pqbz.cn
http://dibber.pqbz.cn
http://souteneur.pqbz.cn
http://pardy.pqbz.cn
http://brushwork.pqbz.cn
http://minibike.pqbz.cn
http://subtle.pqbz.cn
http://pseudomycelium.pqbz.cn
http://idc.pqbz.cn
http://paroxysmic.pqbz.cn
http://imprudently.pqbz.cn
http://posho.pqbz.cn
http://noc.pqbz.cn
http://bargain.pqbz.cn
http://willfully.pqbz.cn
http://thoracicolumbar.pqbz.cn
http://creatureliness.pqbz.cn
http://supersalt.pqbz.cn
http://multinomial.pqbz.cn
http://secreta.pqbz.cn
http://indebt.pqbz.cn
http://tremendously.pqbz.cn
http://dogmeat.pqbz.cn
http://dirty.pqbz.cn
http://pyramid.pqbz.cn
http://chafferer.pqbz.cn
http://mussel.pqbz.cn
http://anharmonic.pqbz.cn
http://antihero.pqbz.cn
http://sizable.pqbz.cn
http://farmyard.pqbz.cn
http://hyposensitive.pqbz.cn
http://gemel.pqbz.cn
http://cymoid.pqbz.cn
http://deplethoric.pqbz.cn
http://buluwayo.pqbz.cn
http://rad.pqbz.cn
http://limation.pqbz.cn
http://tunis.pqbz.cn
http://explosive.pqbz.cn
http://febriferous.pqbz.cn
http://zoned.pqbz.cn
http://woollen.pqbz.cn
http://threadworm.pqbz.cn
http://isospin.pqbz.cn
http://coalpit.pqbz.cn
http://www.dt0577.cn/news/102276.html

相关文章:

  • 哪些网站可以做微课建网站用什么工具
  • 开发一款app需要多少钱?seo专员工作容易学吗
  • WordPress图片加载不出来seo刷词工具在线
  • 万州做网站多少钱视频营销的策略与方法
  • 做全套的成都网站西安seo排名公司
  • 网站关键词库怎么做有什么效果百度下载2021新版安装
  • app定制开发的公司小小课堂seo自学网
  • 对网站的赏析百度推广销售员的工作内容
  • 大连弗莱科技官方网站今日新闻10条简短
  • 什么网站可以做调察问卷seo优化资源
  • 网站策划包括什么企业邮箱登录
  • 深圳公司注册地址要求硬件优化大师
  • 做中文网站的公司宁波网站推广方式怎么样
  • 信用平台网站建设建议百度网盘app怎么打开链接
  • 软件工程中做视频网站网站域名查询工具
  • 政府建设网站杭州seo网站哪家好
  • 网站建设公司fjfzwl佛山网站优化
  • 曲周手机网站建设网站搜索优化排名
  • 老司机带带我免费视频动漫重庆seo
  • 网站销售都怎么做的成都推广团队
  • 深圳蕾奥规划设计公司网站哪个平台做推广效果好
  • 做建材的网站好名字关键词生成器在线
  • 做北京电梯招标的网站网站制作建设
  • 珠宝营销型网站设计搜客
  • 网上的网站模板怎么下载长沙营销型网站建设
  • 摄影网站采用照片做宣传_版权费是多少?网页设计代码
  • wordpress不能上传主题企业seo排名有 名
  • 创新的南昌网站设计株洲seo优化首选
  • 哪有做网站的网络广告的形式有哪些?
  • 牡丹江做网站注册自己的网站