class和style绑定
? 在数据绑定中,一个常见需求是,将数据与元素的 class 列表,以及元素的 style 内联样式的操作绑定在一起。由于它们都是属性(attribute),因此我们可以使用? 与HTML的class绑定(Binding HTML Classes)对象语法向? <div v-bind:class="{active: isActive}"></div> 上述语法意味着, 这样,可以通过在对象中添加多个字段,来切换多个 class。此外, <div class="static" v-bind:class="{active: isActive,‘text-danger‘:hasError}"> </div> 然后,给定一下data: <body> <div class="static" v-bind:class="{active: isActive,‘text-danger‘:hasError}"> </div> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <script> var vm = new Vue({ el: ‘.static‘,data: { isActive: true,hasError: false } }) </script> </body> 将会熏染为: <div class="static active"></div> 每当? 绑定对象,也可以无需内联,而是外部引用 data:? <div v-bind:class="classObject"></div> data: { classObject: { active: true,‘text-danger‘: false } } (内联、外部引用)这两种方式的渲染结果相同。我们还可以将 class 和 style 与某个?computed 属性绑定在一起,此 computed 属性所对应的 getter 函数需要返回一个对象。这是一种常用且强大的用法: <div v-bind:class="classObject"></div> data: { isActive: true,error: null },computed: { classObject: function () { return { active: this.isActive && !this.error,‘text-danger‘: this.error && this.error.type === ‘fatal‘ } } } 未完待续 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |