温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue中Class与Style绑定的示例分析

发布时间:2021-07-20 10:55:49 来源:亿速云 阅读:213 作者:小新 栏目:web开发

这篇文章主要为大家展示了“Vue中Class与Style绑定的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中Class与Style绑定的示例分析”这篇文章吧。

具体如下:

绑定 HTML Class

对象语法

我们可以传给 v-bind:class 一个对象,以动态地切换 class:

<style>   .exp{     border: 1px solid #ccc;   }   .forExp{     background: blue;   } </style> <div class="exp" v-bind:class="{newExp:isNewExp}"></div> <script>   var exp=new Vue({     el:".exp".     data:{       isForExp:false     }   }) </script>

如上,我们先给 .exp 一个边框,我们利用 v-bind 方法传入一个新的 class 属性 .newExp,设置一个蓝色的背景颜色。当我们在控制台修改 .newExp 的属性为 true 时,会给 div 添加一个蓝色的背景颜色。

我们也可以传入更多的属性来切换多个 class 。

<div class="exp" v-bind:class="{newExp:isExp,npc:isNpc}"></div> <script>   data:{     isExp:false,     isNpc:true   } </script>

在模板里的渲染结果为:

<div class="exp isNpc"></div>

我们也可以使用对象的方法来切换属性

<div class="exp" v-bind:class="obj"></div> <script>   data:{     obj:{       newExp:false,       npc:true     }   } </script>

渲染结果和上面的一样

数组语法

我们可以把一个数组传给 v-bind:class,以应用一个 class 列表:

<div class="exp" v-bind:class="[newExp,oldExp]"></div> <script>   data:{     newExp:"new",     oldExp:"old"   } </script>

渲染为:

<div class="exp new old"></div>

要切换class,使用三元运算符:

<div class="exp" v-bind:class="[act? newExp:oldExp]"></div> <script>   data{     newExp:"new",     oldExp:"old",     act:true   } <script>

act 为 true 时,添加 new ,为 false 时添加 old。

用在组件上

声明一个组件:

Vue.component("my", {   template: '<p class="foo bar">Hi</p>' })

然后在使用它的时候添加一些 class:

<my class="tip"></my>

最终渲染为

<p class="foo bar tip">Hi</p>

同样的适用于绑定 HTML class:

<my v-bind:class="{ active: isActive }"></my>

当active为true时,HTML 将被渲染成为:

<p class="foo bar active">Hi</p>

绑定内联样式

对象语法

v-bind:style 的对象语法十分直观——看着非常像 CSS,其实它是一个 JavaScript 对象。 CSS 属性名可以用驼峰式 (camelCase) 或 (配合引号的) 短横分隔命名 (kebab-case):

<div v-bind:></div> <script>   data:{     activeColor:"blue",     fontSize:20   } </script>

使用对象语法的话,会看起来更加清晰

<div v-bind:></div> <script>   data:{     obj:{       color:"#FFF",       fontSize:"20px"     }   } </script>

数组语法

v-bind:style 的数组语法可以将多个样式对象应用到一个元素上:

<div v-bind:></div> <script>   data:{     style1:{       color:"#666"     },     style2:{       background:"#b1b1b1"     }   } </script>

自动添加前缀

当 v-bind:style 使用需要特定前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。

Chrome 和 Safari : -webkit- IE :        -ms- Firfox :      -moz- Opera :      -o-

以上是“Vue中Class与Style绑定的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI