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

第八课 Vue中的v-bind指令

Vue中的v-bind指令

v-bind用于属性绑定,使得属性可以动态修改

v-bind动态修改class

动态修改的class名来源于data对象,而非手动给定

  1. 基础示例
    <style>div{width: 100px;height: 100px;border: 3px solid #000;}.bg {background: red;}</style><div id="app"><div v-bind:class="bg"></div></div><script>new Vue({el: '#app',data: {bg: 'bg'}})</script> 
  1. v-bind简写

v-bind可以利用:作为简写方式

    <style>div{width: 100px;height: 100px;border: 3px solid #000;}.bg {background: red;}</style><div id="app"><div :class="bg"></div></div><script>new Vue({el: '#app',data: {bg: 'bg'}})</script> 
  1. 多class名不冲突

动态绑定的class与原生class名不冲突,最终会合并成为一个

    <style>.test{width: 100px;height: 100px;border: 3px solid #000;}.bg {background: red;}</style><div id="app"><div class="test" :class="bg"></div></div><script>new Vue({el: '#app',data: {bg: 'bg'}})</script> 

4) v-bind绑定多class名

        <style>.test{width: 100px;height: 100px;border: 3px solid #000;}.bg {background: red;}.color{color: blue;}</style><div id="app"><div class="test" :class="[bg, color]">{{val}}</div></div><script>new Vue({el: '#app',data: {val: 'Hello World !',bg: 'bg',color: 'color'}})</script> 
  1. class状态控制

v-bind中的内容可以以{}运算符配合,进行简单的JS运算

1) 动态切换class

        <style>.test{width: 100px;height: 100px;border: 3px solid #000;}.bg {background: red;}</style><div id="app"><input type="button" value="点击我切换显示状态" @click="fun()"><div class="test" :class="{bg: status}"></div></div><script>new Vue({el: '#app',data: {bg: 'bg',status: true},methods: {fun(){this.status = !this.status;}}})</script> 

v-bind绑定内嵌样式

v-bind style 可以进行内嵌样式编写,属性值为字符,多属性用逗号分隔

1) 基础示例

    <style>.test{width: 100px;height: 100px;border: 3px solid #000;}</style><div id="app"><div class="test" :style="{background: 'red', width: 200 + 'px'}"></div></div><script>new Vue({el: '#app',})</script> 

2) 动态内嵌样式

    <style>.test{width: 100px;height: 100px;border: 3px solid #000;}</style><div id="app"><div class="test" :style="style"></div></div><script>new Vue({el: '#app',data: {style: {background: 'red', width: 200 + 'px'}}})</script> 
  1. 多样式合并
    <style>.test{width: 100px;height: 100px;border: 3px solid #000;}</style><div id="app"><div class="test" :style="[style1, style2]"></div></div><script>new Vue({el: '#app',data: {style1: {background: 'red', width: 200 + 'px'},style2: {height: 200 + 'px'}}})</script> 
http://www.lryc.cn/news/465250.html

相关文章:

  • 基于STM32的智能电能表设计
  • 开启学习与探索之旅,自闭症学校全托为孩子打造温馨成长环境
  • 多线程编程简单例题(3个线程) Linux环境 C语言实现
  • UG NX12.0建模入门笔记:1.2 鼠标的基本操作
  • NVME盘未格式化导致Ubuntu20.04启动慢
  • VSCode创建插件HelloWorld找不到指令解决办法
  • 第20场 小白入门赛本场比赛为「蓝桥·算法双周赛」第二十场分级赛——小白入门赛
  • 论文研读 | End-to-End Object Detection with Transformers
  • 构建高效在线教育平台:Spring Boot的力量
  • C#Process进程的使用,以及对ProcessInfo中所有的参数详细记录
  • STM32中的RAM和ROM分别是什么
  • Spring--1
  • 【Flutter】页面布局:流式布局(Wrap、Flow)
  • Delphi数据字典TDictionary
  • VsCode 如何自定义代码片段(Code Snippet)
  • Linux服务器前后端项目部署vue+springboot—搭建服务器上的运行环境(JDK、Redis、MySQL、Nginx)
  • 随记:有关idea中jdk版本
  • 【算法篇】贪心类(1)(笔记)
  • el-select 可搜索、多选状态遮挡住搜索框
  • el-table中实现可选表格区域的鼠标事件检测
  • 特种作业操作登高架设作业历年真题附答案
  • schedule-执行周期性任务
  • python图片文件路径排序
  • ARTTrack6/M、ARTTrack5、ART AT7-80横向对比
  • 【Vue】Vue3.0(十三)中标签属性ref(加在普通标签上、加在组件标签上)、局部样式
  • Linux系统基础-文件系统
  • 机器学习和深度学习常用的工具库
  • 【unity小技巧】Unity6 LTS版本安装和一些修改和新功能使用介绍
  • 5种边界填充
  • 鸿蒙网络编程系列7-TLS安全数据传输单向认证示例