首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VueJS动态样式绑定?

VueJS动态样式绑定?
EN

Stack Overflow用户
提问于 2020-05-01 10:56:38
回答 1查看 50关注 0票数 0

我在Vueity Card上设置了一个名为editMode的数据属性。当我单击该按钮时,editMode设置为true,并且在v-img上显示一个图标。现在,我如何才能使其在editMode为true时,图像的opacity设置为0.3,但图标不受影响?

下面是有效的codepen

请检查以下代码:-

代码语言:javascript
复制
new Vue({
  el: "#app",
  data() {
    return {
      editMode: false
    };
  }
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.css" rel="stylesheet" />

<div id="app">
  <v-app id="inspire" dark>
    <v-container>
      <v-layout>
        <v-flex xs6>
          <v-card>
            <v-img :style="editMode ? 'opacity: 0.3' : ''" src="https://cdn.vuetifyjs.com/images/cards/desert.jpg" aspect-ratio="2.75">
              <v-container v-if="editMode">
                <v-layout align-center justify-center row fill-height>
                  <v-icon class="mt-5" color="white" large>create</v-icon>
                </v-layout>
              </v-container>
            </v-img>
          </v-card>
          <v-btn large @click="editMode = !editMode"> Edit Mode </v-btn>
        </v-flex>
      </v-layout>
    </v-container>
  </v-app>
</div>

现在,图标的不透明度也达到了0.3。任何帮助都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-01 11:13:52

以下是我的解决方案:使用类而不是样式:

代码语言:javascript
复制
<v-img :class="{'editMode': editMode}" src="https://cdn.vuetifyjs.com/images/cards/desert.jpg" aspect-ratio="2.75">

在风格上:

代码语言:javascript
复制
<style lang="scss" scoped>
.editMode {
  ::v-deep .v-image__image {
      opacity: .3
  }
}
</style>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61536125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档