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

Vue的class、style绑定

    Vue中的样式也要回到原始的BOM+DOM+js的前端组合去解读。

1、当模板直接引用style中定义的样式时,在HTML模板中按照正常的样式引用处理即可。

模板定义:<template>
<div class="sizeclass">100</div>
</template><style>
.sizeclass {text-align: center;font-size: large;
}
</style>

2、当需要根据响应式状态改变模板中引用的class、style时,需要利用计算属性改变样式的引用

既然可以动态改变class,那么HTML模板中style属性也是可以动态改变的。都是HTML的属性,style和class没有什么区别,顶多是style要以对象的形式,class以字符串的方式存在。

<script setup lang="ts">import {computed, nextTick, ref} from "vue"const count=ref(0);
const list=ref(["a","b","c"]);
list.value[1]="e";function increment(){count.value++;nextTick();if(count.value>=3){list.value[count.value]="add";}
}//computed attribute
const size=computed(()=>{return list.value.length;
});
// update class by computed attribute, more than one class is also allowed.
const currentClass=computed(()=>{return list.value.length%2==0 ? "sizeclass" : "smallclass";
});
</script><template>
<button @click="increment">{{ count }}</button>
<div v-for="item in list" :key="item"><span>{{ item }}</span>
</div>
<div :class="currentClass">{{ size }}</div>
</template><style>
.sizeclass {text-align: center;font-size: large;
}.smallclass{text-align: left;font-size: smaller;font-weight: 100;
}
</style>

3、在多个组件嵌套时,HTML模板中的style、class

      当多组件嵌套时,内层组件的样式一定是在外层组件样式的基础上合并计算出来的。回归到BOM+DOM+js的前端,子节点的样式一定是基于父节点的样式上进行生效的。显然Vue也只是一种对前端的重新组合,并不会改变原先DOM下样式的规则。

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

相关文章:

  • day22_mysql
  • 【VBA】基于EXCEL生成Insert语句工具
  • 算法与数据结构--前缀和
  • 高频CSS面试题
  • electron 内部api capturePage实现webview截图
  • sql9(Leetcode197上升的温度)
  • 物联网AI MicroPython学习之语法 umqtt客户端
  • SQLite3 数据库学习(二):SQLite 中的 SQL 语句详解
  • 基础课4——客服中心管理者面临的挑战
  • RFID技术在危险废物管理中的应用解决方案
  • 二百零三、Flume——Flume实时采集数据频率为1s的高频率Kafka数据直接写入ODS层表的HDFS文件路径下
  • Word或者WPS批量调整文中图片大小的快捷方法
  • url在api测试工具可以访问,但在浏览器不能访问
  • k8s之Helm
  • ElasticSearch 增删改查操作
  • ctfshow sql171-179
  • Mysql 自带分页异常
  • MySQL MVCC机制详解
  • 搭建成功simulink-stm32硬件在环开发环境
  • 【计算机网络】UDP协议
  • ubuntu安装mysql8.0.35过程和报错处理
  • SQL基础理论篇(一):什么是SQL
  • 物联网AI MicroPython学习之语法 GPIO输入输出模块
  • phalcon 访问IndexController 中只能访问indexAction方法,访问不了testAction等其它问题的解决办法
  • docker安装AWVS 23.9.231005181
  • 数据同步工具调研选型:SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比
  • 【Vue】Vue3 Swiper 插件 loop 无限滚动、并且暂停的问题
  • MySQL的DATE_FORMAT函数使用
  • MySQL的SQL预编译及防SQL注入
  • 博流BL602芯片 - 烧录配置