VUE3与Uniapp 五 (v-if、v-show和template、v-for的使用)

xml 复制代码
<template>
	<!-- v-if如果是false,则不会出现在DOM中,不会被渲染;
	v-show如果为false,则会出现在DOM中,并加载资源(如图片),只是CSS隐藏了。 -->
	<view v-if="day===1">星期1</view>
	<view v-else-if="day===2">星期2</view>
	<view v-else-if="day===3">星期3</view>
	<view v-else-if="day===4">星期4</view>
	<view v-else-if="day===5">星期5</view>
	<view v-else-if="day===6">星期6</view>
	<view v-else-if="day===7">星期7</view>
	<view v-else>日期正确</view>
	
	<!-- template配合v-if使用,template并不会被加载到DOM中
	如果template换成view,则<view>123</view>被view包裹,级别降低。
	但,使用template,<view>123</view>不会被包裹,template没被加载到DOM中 -->
	<template v-if="true">
		<view>123</view>
	</template>
	
	<template v-else>
		<view>456</view>
	</template>

	<!-- v-for和v-if不能在同一个标签中
	<view v-for="item in phones " v-if="true">
		<text>{{item}}</text>
	</view> -->
	
	<!-- 同时使用v-for和v-if时,把其分别写在不同标签内 -->
	<!-- 在v-for中,养成写key的好习惯,否则增删改列表时会出错,小程序中也会出现报错 -->
	<template v-for="(item, index) in phones" :key="item.id">
		<view v-if="true">
			<text>{{item.name}}</text>
		<view>
	</template>
</template>

<script setup>
	import {ref} from "vue";
	
	let day = ref(1);

	let phones = ref([
		{id:11, name:"小米"}
		{id:11, name:"华为"}
		{id:11, name:"苹果"}
		{id:11, name:"荣耀"}
	]);
</script>

<style lang="scss">

</style>
相关推荐
云空6 分钟前
《Three.js 3D坦克对战【AI单机版】》
javascript·人工智能·3d·three.js
默_笙12 分钟前
🚲 手写一个"Claude Code":我用 LangChain + ReAct 循环,让 AI 自己读文件、解释代码
前端·javascript
星河耀银海25 分钟前
框架结合:Vue+HTML5+AI实现智能前端应用开发
前端·vue.js·html5
等咸鱼的狸猫1 小时前
# JS 核心六大主题:闭包内存模型、原型链查找、事件流机制与 Promise / Event Loop 实现视角复盘
前端·javascript
英勇无比的消炎药1 小时前
还在手写对话面板?TinyRobot Container 一个组件装下整个 AI 聊天
vue.js
gis开发之家2 小时前
vue3直击架构痛点 依赖倒置与接口隔离——打造坚如磐石的插件与高阶组件(HOC)模式
javascript·架构·typescript·前端框架·vue3
柒和远方2 小时前
LeetCode 139. 单词拆分 —— 从暴力回溯到 DP 完全背包
javascript·python·算法
用户2930750976692 小时前
流式输出:Vue 3 + DeepSeek API 实战
vue.js
先吃饱再说2 小时前
流式输出完全指南:让 AI 对话像打字机一样流畅
javascript·vue.js
এ慕ོ冬℘゜4 小时前
原生 JS 实现自定义单选日历组件(无 UI 库、纯手写、禁用过去日期)
开发语言·javascript·ui