样式的双向绑定的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>
  • 效果如下:

    在这里插入图片描述

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WPF的静态资源是不能进行双向的。静态资源是在应用程序启动时由XAML解析器解析和创建的,并且之后不能进行修改。这意味着一旦静态资源被创建,就无法通过双向来更新源属性。 双向是一种机制,可以保持源属性和目标属性之间的同步。但是,静态资源在运行时是只读的,不允许修改。因此,即使源属性的值发生改变,静态资源也无法自动更新。 如果需要在WPF中实现双向,可以使用动态资源或数据方式实现。动态资源是可以在运行时修改的资源,可以通过改变源属性的值来实现更新。数据是一种更为灵活的机制,可以将源属性与目标属性在一起,并在值发生变化时实时更新。 总之,WPF的静态资源不能进行双向,但可以使用动态资源或数据实现相似的效果。 ### 回答2: WPF的静态资源不能直接双向。静态资源是在应用程序运行期间创建的,并且通常用于提供应用程序中多个元素共享的资源,如颜色、字体、样式等。它们被视为只读资源,无法随着目标的更改而自动更新。 但是,在某些情况下,可以通过将静态资源与目标的属性到一个对象,并在该对象上实现双向实现类似的效果。这个对象可以是一个中间的器或视图模型,它可以在用户交互或其他事件中更新静态资源的值,并将这些更改传递给的元素。 使用这种方法,可以实现在静态资源和目标之间的双向同步。但需要注意的是,这种方法需要手动管理同步过程,并且可能需要更复杂的代码来实现。 总体而言,虽然WPF的静态资源本身并不支持双向,但可以通过巧妙地使用中间对象来实现类似的效果,使静态资源在某种程度上实现双向

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值