Skip to content

Instantly share code, notes, and snippets.

@emmanuelbarturen
Created February 26, 2018 00:42
Show Gist options
  • Save emmanuelbarturen/808668034293285ad8b858e040fc4834 to your computer and use it in GitHub Desktop.
Save emmanuelbarturen/808668034293285ad8b858e040fc4834 to your computer and use it in GitHub Desktop.
component for rating, accept decimals
<template>
<div>
<i class="fa fa-star" aria-hidden="true" v-for="i in completeStarts(rating)"></i>
<i class="fa fa-star-half-o" aria-hidden="true" v-if="haveHalfStart(rating)"></i>
<i class="fa fa-star-o" aria-hidden="true" v-for="x in incompleteStarts(rating)"></i>
</div>
</template>
<script>
export default {
name: 'StarRating',
props: {
rating: {
required: true,
}
},
mounted() {
console.log(this.rating)
},
methods: {
completeStarts: function (rating) {
if (rating > 0) {
return Math.floor(rating)
}
return 0
},
haveHalfStart: function (rating) {
return (rating % 1) > 0
},
incompleteStarts: function (rating) {
if (rating > 0) {
return 5 - Math.ceil(rating)
}
return 5
}
}
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment