发布于2021-03-13 18:50 阅读(1887) 评论(0) 点赞(10) 收藏(1)
以下是个人在项目中使用过的关于在Vue中的动态类名和动态样式的设置方法的整理记录,如果有更好的方法也欢迎各位大佬留言添加 ε≡٩(๑>₃<)۶ 一心向学
:class="address.length > 0 ? 'city' : 'city-gray'"
:class="{ 'is-active': form.avatar == i }"
:class="[
sizeClass ? 'el-warning--' + sizeClass : '',
{
'is-no-spacing': this.noSpacingClass,
},
]"
:class="[flexLeft ? 'expand-left' : 'expand-middle']"
// template中
<div :class="item.gameList | colStyle" v-if="item.gameList.length > 0" class="game-list">
// script中
filters: {
colStyle(data) {
if (_.isEmpty(data)) {
return '';
}
const { length } = data;
let className = '';
if (length === 1) {
className = 'two-col';
}
if (length === 2) {
className = 'two-col';
}
if (length === 3) {
className = 'three-col';
}
if (length >= 4) {
className = 'four-col';
}
return className;
},
},
// style中
.two-col {}
.three-col {}
HTML中
:class="[`startTheme-${themeConfig.label}`]"
Style中
.startTheme-green { color: green; }
.startTheme-red { color: red; }
<template>
<div
:class="{
'disabled-view': disabled,
[`button-${this.type}-view`]: type,
[`button-${this.size}`]: size,
}"
@click="onClick"
@keydown.enter="onClick"
class="seek-top-button-view"
>
<Loading v-if="hasLoading" class="loading-view" type="spinner" />
<slot />
</div>
</template>
<script>
import { Loading } from 'vant';
export default {
name: 'StButton',
components: {
Loading,
},
directives: {
focus: {
inserted(el) {
el.focus();
},
},
},
props: {
color: {
type: String,
default: '',
},
size: {
type: String,
default: 'large', // large/small
},
loading: {
type: Boolean,
default: false,
},
shadow: {
type: Boolean,
default: false,
},
disabled: {
type: Boolean,
default: false,
},
type: {
type: String,
default: 'primary', // primary / text /default/danger
},
},
data() {
return {};
},
computed: {
opacity() {
if (this.loading) return 0.69;
return 1;
},
hasLoading() {
return this.loading && this.type !== 'text';
},
},
methods: {
onClick(event) {
if (this.loading || this.disabled) return;
this.$emit('click', event);
},
},
};
</script>
<style lang="scss" scoped>
// 这里只展示部分作为参考
&.button-default-view {
//白色按钮
background: $--color-white;
color: $--color-red;
}
&.button-danger-view {
//字体边框红色
border: 1px solid $--color-red;
color: $--color-red;
background: transparent;
}
</style>
:style="{
width: itemWidth + 'px',
height: itemHeight + 'px',
left: left + 'px',
top: top + 'px',
}"
:style="{
opacity,
}"
computed: {
opacity() {
if (this.loading) return 0.69;
return 1;
},
},
:style="{ 'padding-top': search ? '44px' : '' }"
:style="$parent.value === id ? activeStyle : {}"
computed: {
activeStyle() {
return {
color: this.$parent.activeColor,
};
},
},
:style="'background: url(' + require(`./img/bgCheck_${tabCheck === index ? 1 : 0}.png`) +')no-repeat'"
<div
class="main__header"
:style="
'background: ' +
`${themeConfig.themeColor}` +
' url(' +
require(`@/assets/themeCofing/${themeConfig.label}/personalInfo/header_bg.png`) +
')no-repeat center / contain;'
"
/>
以上仅供大家参考
:ஐ٩(๑´ᵕ`)۶ஐ: 学习使我进步
原文链接:https://blog.csdn.net/weixin_45461674/article/details/114684502
作者:西门费雪
链接:http://www.qianduanheidong.com/blog/article/35771/2d6e3e4a10cd7fef635f/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!