具有不同背景颜色的相同组件

时间:2018-07-19 12:09:04

标签: css vue.js components

我创建了一个组件,并在我的一个vue页面上多次使用它。 现在,我想为每次使用此组件更改背景颜色。

这是我的组件:

<template>
  <div class="project-card" :style="{backgroundColor: color}">
    <h2>{{ title }}</h2>
    <p>{{ description }}</p>
  </div>
</template>

<script>
export default {
  name: 'ProjectCard',
  props: {
    title: String,
    description: String
  },
  data: function() {
    return {
      color: "#000"
    }
  }
}
</script>

这是我的Vue页面,我在其中使用组件:

<template>
  <div class="projects">
    <ProjectCard 
      title="Projekt 01"
      description="Lorem Ipsum"
    />
    <ProjectCard
      title="Projekt 02"
      description="Lorem Ipsum"
    />
</template>

<script>
import ProjectCard from '@/components/ProjectCard.vue'

export default {
  name: 'projects',
  components: {
    ProjectCard
  }
}
</script>

现在是否可以像更改文本道具一样在我的项目页面上更改项目卡片组件的颜色数据?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

通过颜色作为道具:

 <ProjectCard
      title="Projekt 02"
      description="Lorem Ipsum"
      color= "#000F"
    />
<ProjectCard
      title="Projekt 02"
      description="Lorem Ipsum"
      color= "#00FF00"
    />

和脚本中

<script>
export default {
  name: 'ProjectCard',
  props: {
    title: String,
    description: String,
    color:String
  },
  data: function() {
    return {
      color: "#000"
    }
  }
}
</script>