03、Vue3.x初步【条件,循环?】

条件语句

  • 把一段非常简单的if ,写的如此繁琐, 我就想问还有谁?
  • 细细品, 你细品,过度效果都来了一波, 发现了么?
  • 老规矩,
      1. v-if 指令绑定到data
      1. data 上面控制 bool, true/false
      1. v-on: 事件监听,触发,语句,更改以用show控制的p标签的显示、隐藏
      1. 彩蛋, transition , 过渡效果 hhhc
<!DOCTYPE html>
<html>
<head>
	<title>Vue入门到应用</title>
	<script type="text/javascript" src="./node_modules/vue/dist/vue.global.js"></script>
</head>
<body>

	<div id="container">
		
		// 1 
		<span v-if="is_silvercell"> 我是 silvercell </span>
		<span v-if="is_rubbish"> 我是 rubbish? </span>
		
		// 3
		<button v-on:click="show = !show"> 收起/展开</button>
		<transition name="fade">
			<p v-if="show">hello</p>
		</transition>

	</div>

</body>

<script type="text/javascript">

	const HelloVueApp = {

		data(){
			return {
				// 2
				is_silvercell: true,
				is_rubbish: false,
				show: true
			}
		}

	}

	Vue.createApp(HelloVueApp).mount('#container')
</script>

<style type="text/css">
	.fade-enter-active,
	.fade-leave-active {
	  transition: opacity 0.5s ease;
	}

	.fade-enter-from,
	.fade-leave-to {
	  opacity: 0;
	}
</style>
</html>	


循环语句

  • 指令 v-for:
  • 非常重要, 很多的条目渲染都要用这个。一定要学会啊!
  • 反正现在学不会以后还是要来查的,大不了耽误约会,大餐呗
  1. 数据在哪里
  2. 循环的标签是什么
  3. 循环 并 数据绑定渲染
<!DOCTYPE html>
<html>
<head>
	<title>Vue入门到应用</title>
	<script type="text/javascript" src="./node_modules/vue/dist/vue.global.js"></script>
</head>
<body>

	<div id="container">
		<div>
			<span v-if="is_silvercell"> 我是 silvercell </span>
			<span v-if="is_rubbish"> 我是 rubbish? </span>
			<button v-on:click="show = !show"> 收起/展开</button><br><br>
		</div>
		<transition name="fade">
			<div v-if="show">
				<table BORDER=1 style="border-collapse:collapse" >
				    <tr>
				        <th>今天周几?</th>
				        <th>做什么?</th>
				    </tr>
				    // 2
				    <tr v-for="item in todos">
				        <td>{{item.time}}</td>
				        <td>{{item.do}}</td>
				    </tr>
				</table>
			</div>
		</transition>
	</div>

</body>

<script type="text/javascript">

	const HelloVueApp = {

		data(){
			return {
				is_silvercell: true,
				is_rubbish: false,
				show: true,
				// 1 
				todos: [
					{time:'Friday', do:"learn from https://blog.csdn.net/silvercell"},
					{time: 'Sunday', do:"learn silvercell's blog"},
					{time: 'Saturday', do:"discuss in silvercell's QQ-group"}
					
				]
			}
		}

	}

	Vue.createApp(HelloVueApp).mount('#container')
</script>

<style type="text/css">
	.fade-enter-active,
	.fade-leave-active {
	  transition: opacity 0.5s ease;
	}

	.fade-enter-from,
	.fade-leave-to {
	  opacity: 0;
	}

	#container {
		width: 700px;
		height:700px;
		margin: 0 auto;
	}

</style>
</html>	

总结

  1. v-if 的使用
  2. v-for 的使用 , data里定义循环数据, 找到要渲染的标签, 使用v-for指令渲染标签

结合的小例子,就能看出来前几课的知识有没有掌握。 路, 我领了, 脚得你自己迈。 有没掌握的
老规矩,大不了以后工作了耽误点约会和吃美食的时间… 🕐
Author: Silvercell , 欢迎来到的抵抗路, 好好加油, 祝, 编程进步,技术提升,加薪升职

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
[Vue warn]: Invalid prop: type check failed for prop "data". Expected Array, got Object found in ---> <ElTable> at packages/table/src/table.vue <Index> at src/views/students/index.vue <AppMain> at src/layout/components/AppMain.vue <Layout> at src/layout/index.vue <App> at src/App.vue <Root> warn @ vue.runtime.esm.js?2b0e:619 assertProp @ vue.runtime.esm.js?2b0e:1705 validateProp @ vue.runtime.esm.js?2b0e:1632 updateChildComponent @ vue.runtime.esm.js?2b0e:4141 prepatch @ vue.runtime.esm.js?2b0e:3125 patchVnode @ vue.runtime.esm.js?2b0e:6302 updateChildren @ vue.runtime.esm.js?2b0e:6187 patchVnode @ vue.runtime.esm.js?2b0e:6313 patch @ vue.runtime.esm.js?2b0e:6476 Vue._update @ vue.runtime.esm.js?2b0e:3942 updateComponent @ vue.runtime.esm.js?2b0e:4060 get @ vue.runtime.esm.js?2b0e:4473 run @ vue.runtime.esm.js?2b0e:4548 flushSchedulerQueue @ vue.runtime.esm.js?2b0e:4304 eval @ vue.runtime.esm.js?2b0e:1980 flushCallbacks @ vue.runtime.esm.js?2b0e:1906 vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in callback for watcher "data": "TypeError: data.indexOf is not a function" found in ---> <ElTable> at packages/table/src/table.vue <Index> at src/views/students/index.vue <AppMain> at src/layout/components/AppMain.vue <Layout> at src/layout/index.vue <App> at src/App.vue <Root> warn @ vue.runtime.esm.js?2b0e:619 logError @ vue.runtime.esm.js?2b0e:1884 globalHandleError @ vue.runtime.esm.js?2b0e:1879 handleError @ vue.runtime.esm.js?2b0e:1839 run @ vue.runtime.esm.js?2b0e:4564 flushSchedulerQueue @ vue.runtime.esm.js?2b0e:4304 eval @ vue.runtime.esm.js?2b0e:1980 flushCallbacks @ vue.runtime.esm.js?2b0e:1906 vue.runtime.esm.js?2b0e:1888 TypeError: data.indexOf is not a function at VueComponent.updateCurrentRowData (webpack-internal:///./node_modules/element-ui/lib/element-ui.common.js:10406) at VueComponent.setData (webpack-internal:///./node_modules/element-ui/lib/element-ui.common.js:11086) at VueComponent.module.exports.watcher.commit (webpack-internal:///./node_modules/element-ui/lib/element-ui.common.js:11216) at VueComponent.handler (webpack-internal:///./node_modules/element-ui/lib/element-ui.common.js:13878) at Watcher.run (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:4556) at flushSchedulerQueue (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:4298) at Array.eval (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:1979) at flushCallbacks (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:1905)
06-14

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

银色种子

打赏 >100 请留言,并私信

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值