• 学习Uni-app开发小程序Day5


    今天根据老师视频学习了几个vue的功能

    • v-bind指令配合图片轮播–class和style内联绑定
      这是在vue中的指令方式,在attribute 中需要用到这个,简写的话就是直接冒号,例如: :class,这里有个区别,组件加上class,是给当前组件定义名称,如果在class前加上冒号,这就是在使用attribute了
    <template>
    	<view>
    		<image :src="pic" mode="widthFix" class="pic4">image>
    		
    		
    		<button type="primary" :loading="isActive ? true : false">按钮button>
    	view>
    	<view class="box" :class="{activie:isActive}">v-bind指令view>
    	<view class="box" :class="isActive ? 'activie' : '' ">v-bind指令2view>
    	<view class="box" :style="{width: '300px',height:260+'px',fontSize:size+'px'}">内联样式view>
    template>
    
    <script setup>
    	import {
    		ref
    	} from 'vue';
    	const arry = ref([
    		"../../static/pic1.png",
    		"../../static/pic2.png",
    		"../../static/pic3.webp",
    		"../../static/pic4.jpg"
    	])
    	const pic = ref("../../static/pic1.png")
    	let isActive = ref(false);
    	const size = ref(30);
    	let i = 0;
    	setInterval(() => {
    		i++;
    		// size.value+=i;
    		pic.value = arry.value[i % 4]
    		isActive.value = !isActive.value;
    	}, 5000)
    script>
    
    <style lang="scss" scoped>
    	.pic4 {
    		width: 100vw;
    		height: 200px;
    	}
    	.box {
    		width: 200px;
    		height: 200px;
    		background: red;
    		font-size: 20px;
    		margin: 5px;    //这是当前组件距离边框的距离
    		padding: 10px;  //这是文字的边距
    	}
    	.activie {
    		background: yellow;
    		color: #0055ff;
    	}
    style>
    
    • 事件监听
      这里是事件的监听,添加一个view,通过事件监听,更改view的背景颜色等(这里控制背景颜色,使用的是随机数,然后截取随机数的6位,作为16进制的颜色码)。还添加了switch,这是一个开关组件,通过事件,监听开关来打开button的loading,属于一个联动的效果。这里自己在多添加了一层,在写一个开关,由第二个开关决定第一个开关的打开关闭,类似一个多开关控制灯的效果。
    <template>
    	<view class="box" @click="onChick" :style="{background:colo}">
    		{{num}}
    	view>
    	<switch :checked="isChecked" @change="onchange"/>
    	<button type="primary" :loading="isChecked">按钮button>
    	<switch checked="true" @change="onChange" />   
    	 
    template>
    
    <script setup>
    	import { ref } from 'vue';
    	const num=ref(0);
    	const colo=ref("#00aaff")
    	const isLoading=ref(false);
    	const isChecked=ref(true);
    	function onChick(){
    		num.value++
    		colo.value="#"+String(Math.random()).substr(3,6);
    		console.log(Math.random());
    		console.log(String(Math.random()).substr(3,6));
    	}
    	function onchange(e){
    		isLoading.value=e.detail.value;
    		console.log(1+"/"+e.detail.value);
    	}
    	function onChange(e){
    		isChecked.value=e.detail.value;
    		console.log(2+"/"+e.detail.value);
    	}
    script>
    
    <style lang="scss" scoped>
    .box{
    	width: 100px;
    	height: 100px;
    }
    style>
    
    • if条件渲染
      这里是使用if-else进行条件渲染,在v-if后面,可以是v-else-if,也可以是
      v-else,下买写了一个根据当前日期显示今天是礼拜几的功能,通过js中的new Data().getDay(),可以获取当前是礼拜几,根据国际值,0:是星期天,
      这里着重说下等等和等等等的区别,在下列text中有详细解说
    <template>
    	<view>
    		<view v-if="vIf">京东view>
    		<view v-else>淘宝view>
    		<view v-if="week===1">星期一view>
    		<view v-else-if="week===2">星期二view>
    		<view v-else-if="week===3">星期三view>
    		<view v-else-if="week==4">星期四view>
    		<view v-else-if="week==5">星期五view>
    		<view v-else-if="week==6">星期六view>
    		<view v-else-if="week==0">星期日view>
    		-------------
    		<text>
    			\n 在uniapp中,== 和 === 是两个不同的运算符,它们在比较时有所不同:\n
    			== 是相等运算符,它在比较时会进行类型转换(强制类型转换),如果两个值相等则返回 true,否则返回 false。\n
    			=== 是严格相等运算符,它在比较时不会进行类型转换,如果两个值的类型不同,则直接返回 false;只有当两个值的类型相同时,它才会比较值本身是否相等。
    		text>
    		
    	view>
    template>
    
    <script setup>
    	import {
    		ref
    	} from 'vue';
    	const vIf = ref(false)
    	let week=new Date().getDay();  //这是获取当前是星期几的代码
    script>
    
    <style lang="scss" scoped>
    
    style>
    
  • 相关阅读:
    工厂模式
    java计算机毕业设计知道特产网源程序+mysql+系统+lw文档+远程调试
    docker应用实例及dockerfile
    【备忘录】kafka常用命令维护
    Unity3D 如何用unity引擎然后用c#语言搭建自己的服务器
    微服务: xxl-job的安装(docker),使用及springboot整合[完整版详解]
    让技术文档网站看起来更专业
    [模版总结] - 树的基本算法2 - BST
    Zookeeper 安装(Windows)
    【PAT(甲级)】1057 Stack(关于树状数组的简单解释)
  • 原文地址:https://blog.csdn.net/qq_34080064/article/details/138569648