≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > vue.js

vue 中动态绑定class 和 style的方法代码分析

人气:373 时间:2019-04-11

这篇文章主要为大家详细介绍了vue 中动态绑定class 和 style的方法代码分析,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

先列举一些例子

代码如下:


class="['content',{'radioModel':checkType}]"  
class="['siteAppListDirNode',{open:appitem.open==true}]" 
class="['portalCenterMenu',{showNav:!showHideNav,hideNav:showHideNav}]" 
class="{shortcutMenuShow:!showHideNav,shortcutMenuHide:showHideNav}" 
style="{height:checkType?'423px':'385px'}" 
src="userInfo.userFace?userInfo.userFace:defaultHead" 

再来看详细解释

Vue.js 的核心是一个响应的数据绑定系统,它允许我们在普通 HTML 模板中使用特殊的语法将 DOM “绑定”到底层数据。被绑定的DOM 将与数据保持同步,每当数据有改动,相应的DOM视图也会更新。基于这种特性,通过vue.js动态绑定class就变得非常简单。

 

1. 数据绑定

 

vue 指令以 v- 前缀标示,数据绑定的指令 v-bind:属性名, 简写为 :属性名, 简单的数据绑定例子如下:

代码如下:


<a v-bind:href="//www.q1010.com/">四海网首页</a>

简写:

代码如下:


<a :href="//www.q1010.com/">四海网首页</a>

 

2. 动态绑定class

 

vue 的分隔符默认是 {{ }}, 在分隔符里面的字符串会被认为是数据变量,可以通过 class="{{ className }}" 方式设置class,但是vue不推荐这种方式与 v-bind:class 的方式混用,二者只能选其一。v-bind:class 虽然与class属性里绑定变量的方式不能共存,却可以与原生的class特性共存, 一个DOM标签中允许同时出现原生class和v-bind:class。

2.1 v-bind:class 支持string类型,不建议这样使用,因为string值是固定不变的,无法实现动态改变class的需求

HTML代码:

代码如下:


<div :class=" 'classA classB' ">Demo1</div>

渲染后的HTML:

代码如下:


<div class="classA classB">Demo1</div>

2.2 v-bind:class 支持数据变量,当变量值改变时,将同时更新class。v-bind:class指令的值限定为绑定表达式,如javascript表达式

HTML代码:

代码如下:


<div :class="classA">Demo2</div>

Javascript代码:

代码如下:


data: {
 classA: 'class-a' //当classA改变时将更新class
}

渲染后的HTML:

代码如下:


<div class="class-a">Demo2</div>

写在指令中的值会被视作表达式,如javascript表达式,因此v-bind:class接受三目运算:

HTML代码:

代码如下:


<div :class="classA ? 'class-a' : 'class-b' ">Demo3</div>

渲染后的HTML:

代码如下:


<div class="class-a">Demo3</div>

2.3 v-bind:class 支持对象,对象改变时会动态更新class

HTML代码:

代码如下:


<div :class="{ 'class-a': isA, 'class-b': isB}">Demo4</div>

Javascript代码:

代码如下:


data: {
 isA: false, //当isA改变时,将更新class
 isB: true  //当isB改变时,将更新class
}

渲染后的HTML:

代码如下:


<div class="class-b">Demo4</div>

HTML代码:

代码如下:


<div :class="objectClass">Demo5</div>

Javascript代码:

代码如下:


data: {
 objectClass: {
  class-a: true,
  class-b: false
 }
}

渲染后的HTML:

代码如下:


<div class="class-a">Demo5</div>

2.4: v-bind:class支持数组, 数组里的变量改变时,会动态更新class列表

HTML代码:

代码如下:


<div :class="[classA, classB]">Demo6</div>

Javascript代码:

代码如下:


data: {
 classA: 'class-a',
 classB: 'class-b'
}

渲染后的HTML:

代码如下:


<div class="class-a class-b">Demo6</div>

数组中可以包含object类型,数组中的object对象改变,也会更新class列表

HTML代码:

代码如下:


<div :class="[classA, classB]">Demo7</div>

Javascript代码:

代码如下:


data: {
 classA: 'class-a',
 objectClass: {
  classB: 'class-b', // classB 的值为class-b, 则将classB的值添加到class列表
  classC: false,  // classC值为false,将不添加classC
  classD: true  // classD 值为true,classC将被直接添加到class列表
}
}

渲染后的HTML:

代码如下:


<div class="class-a class-b classD">Demo7</div>

总结:触类旁通,基本上都一样。

以上所述是小编给大家介绍的vue 中动态绑定class 和 style的方法代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对四海网网站的支持!

本文来自:http://www.q1010.com/184/5455-0.html

注:关于vue 中动态绑定class 和 style的方法代码分析的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:vue.js

您可能感兴趣的文章

  • 浅析前端路由简介以及vue-router实现原理
  • vuejs实现标签选项卡动态更改css样式的方法
  • Vue实现侧边菜单栏手风琴效果实例代码
  • Vue2 轮播图slide组件实例代码
  • 分析vue-router 初始化时做了什么
  • vue和webpack打包项目相对路径修改的方法
  • 分析vue组件开发脚手架
  • vue中axios的封装问题(简易版拦截,get,post)
  • vue和webpack安装命令分析
  • vue项目webpack中Npm传递参数配置不同域名接口
上一篇:Vue中的混入的使用(vue mixins)
下一篇:浅析前端路由简介以及vue-router实现原理
热门文章
  • Vue 报错TypeError: this.$set is not a function 的解决方法
  • vue实现动态添加数据滚动条自动滚动到底部的示例代码
  • vue项目设置scrollTop不起作用(总结)
  • vue项目中使用vue-i18n报错的解决方法
  • iview实现select tree树形下拉框的示例代码
  • 分析关于element级联选择器数据回显问题
  • vue项目打包后打开页面空白解决办法
  • 解决element ui select下拉框不回显数据问题的解决
  • element-ui table span-method(行合并)的实现代码
  • element-ui 设置菜单栏展开的方法
  • 最新文章
    • 理解vue ssr原理并自己搭建简单的ssr框架
    • vue favicon设置以及动态修改favicon的方法
    • vue-router启用history模式下的开发及非根目录部署方法
    • 从零开始在NPM上发布一个Vue组件的方法步骤
    • Element input树型下拉框的实现代码
    • Vue 报错TypeError: this.$set is not a function 的解决方法
    • Vue.js组件高级特性实例分析
    • 浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
    • 分析Vue.js自定义tipOnce指令用法实例
    • 浅谈vuex actions和mutation的异曲同工

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。