2017-03-18 69 views
4

我是vue.js的新手。這裏是我的問題:在vue.js組件中,如何在css中使用道具?

在* .vue文件是這樣的:

<template> 
    <div id="a"> 
    </div> 
</template> 

<script> 
    export default { 
    name: 'SquareButton', 
    props: ['color'] 
    } 
</script> 

<style scoped> 
    #a { 
     background-color: ? 
    } 
<style> 

我如何使用道具background-color:color(其中一個是現在?)。

謝謝。

回答

3

你不知道。您可以使用一個計算性能而使用道具返回div的風格,就像這樣:

<template> 
    <div id="a" :style="style" @mouseover="mouseOver()"> 
    </div> 
</template> 

<script> 
    export default { 
    name: 'SquareButton', 
    props: ['color'], 
    computed: { 
     style() { 
     return 'background-color: ' + this.hovering ? this.color: 'red'; 
     } 
    }, 
    data() { 
     return { 
     hovering: false 
     } 
    }, 
    methods: { 
     mouseOver() { 
     this.hovering = !this.hovering 
     } 
    } 
    } 
</script> 

<style scoped> 
<style> 
+1

感謝您的answer.If我想用CSS僞類,如':hover',又該我做 ?謝謝。 – MingWen

+1

您可以使用mouseover事件觸發數據更改,並在樣式計算屬性中使用該數據屬性。我編輯了這個例子,這樣你就可以看到一個例子(雖然它沒有經過測試,所以也許有一些可以解決的問題,但我認爲你可以明白) – Potray

+0

好的例子,謝謝。 – simhumileco