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

样式的双向绑定的2种方式,实现样式交互效果

与样式标签实现双向绑定

  • 通过布尔值来决定样式是出现还是消失

    show代表着布尔值,show的初始值是false所以文本不会有高亮的效果,当用户点击了按钮,就会调用shows这个函数,并将show的相反值true赋值并覆盖给show,此时show的值为true,这个时候样式起效实现高亮效果

<template>
<div :class="{'backgroundColor': show}">王侯将相另有种乎</div>
<div><button @click="shows">高亮</button></div>
</template><script setup>
import {ref} from 'vue'
const show = ref(false)
const shows = () =>{show.value =! show.value
}
</script><style>
.backgroundColor{background-color: yellow
}
</style>
  • 效果如下:

在这里插入图片描述

在这里插入图片描述

  • 列表格式的样式绑定

    用于实现多从复杂的效果样式,指那些通过用户交互实现双向绑定的样式效果,例如用户在色彩盘中选择颜色,对应背景颜色,字体等样式发生改变。这样使得页面上的效果有了交互的效果,可以用于用户的自定义个性化界面!!!在双向样式绑定数组中可以无限添加新的样式,若出现重复的样式,后面的样式会覆盖前面的样式。

<template><p     :style="[obj,obj2]"   >Lorem ipsum dolor, sit amet consectetur adipisicing elit. Quas eum suscipit beatae hic omnis. Quisquam saepe recusandae quas in, esse ipsum eius id perspiciatis minus earum? Qui nemo atque neque!Lorem ipsum dolor sit amet consectetur adipisicing elit. Quos debitis enim quis possimus, natus quia voluptatem vero amet numquam, necessitatibus, ratione deserunt culpa similique aperiam facilis modi ducimus officiis? Aspernatur.</p><hr>
调整字体的颜色:<input type="color" v-model="obj.color"><hr>
调整背景的颜色:
<input type="color"  v-model="obj.backgroundColor">
<hr>
调整字体的大小<input type="text" v-model="obj.fontSize"><hr>
调整边框的弧度<!--  v-bind   属性绑定, 绑定的值里面是js的合法表达式    --><input type="range"  :min=" minval *2 + 9"  :max="maxval" v-model="ccc"><hr>
</template>
<script   setup>
import {ref,  reactive  , computed} from 'vue'
const minval=ref(1);
const maxval =ref(50);
const ccc =ref(0)
// 实现边框弧度的调节
const bor = computed(()  =>   ccc.value + 'px');
const obj = reactive({color: '',fontSize: "",backgroundColor:'', 'border-radius': '1px',border:'2px dashed',padding:'20px',})const obj2 = reactive({margin:"200px",borderRadius:bor}
)
</script><style>p {color: red;border: 1px solid;background-color: lightblue;border: 2px dashed;padding: 20px;}
</style>
  • 效果如下:

    在这里插入图片描述

http://www.lryc.cn/news/371461.html

相关文章:

  • 供应链经理面试题
  • 快速理解 Node.js 版本差异:3 分钟指南
  • 【Qt实现录频】
  • Golang编译导致的代码错觉
  • SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件
  • web前端文本大小:从入门到精通的全方位解析
  • 【报文数据流中的反压处理】
  • 数据挖掘丨轻松应用RapidMiner机器学习内置数据分析案例模板详解(下篇)
  • 时代巨兽!深度神经网络如何改变我们的世界?
  • LVS+Keepalived高可用负载均衡群集
  • 【MySQL】MySQL45讲-读书笔记
  • python:faces swap
  • Android开发之音乐播放器添加排行需求
  • latex 方括号编号
  • Vue CLI 4与项目构建实战指南
  • 深入解析Web通信 HTTP、HTTPS 和 WebSocket
  • FISCO BCOS x GitLink,为国产开源技术生态注入新活力
  • Linux crontabs定时执行任务
  • QNX简述
  • [Llama3] ReAct Prompt 测试实验
  • nodejs 某音douyin网页端搜索接口及x_bogus、a_bogus(包含完整源码)(2024-06-13)
  • 继承深度剖析
  • 使用 Vue 和 Ant Design 实现抽屉效果的模块折叠功能
  • Springboot整合SpringCache+redis简化缓存开发
  • 关于EOF标识符
  • 家用洗地机排行榜前十名:2024十大王牌机型精准种草
  • 【Chrome插件】如何在Chrome插件开发中处理复杂数据结构的存储
  • MySQL 保姆级教程(二):使用 MySQL 检索数据
  • Sui Bridge在测试网上线并推出10万SUI激励计划
  • Spring系统学习 - Bean的作用域