Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. <template>
  2. <img
  3. :id="id"
  4. :src="src"
  5. :srcset="srcSet"
  6. :sizes="rSizes"
  7. :alt="alt"
  8. :class="classes"
  9. />
  10. </template>
  11.  
  12. <script>
  13. export default {
  14. name: 'ResponsiveImg',
  15. props: {
  16. src: {
  17. default: '',
  18. required: true,
  19. type: String
  20. },
  21. pxWidths: {
  22. default: () => {
  23. return [1920, 1600, 1366, 1024, 768, 640]
  24. },
  25. required: false,
  26. type: Array
  27. },
  28. alt: {
  29. default: '',
  30. required: false,
  31. type: String
  32. },
  33. rSizes: {
  34. default: '100vw',
  35. required: false,
  36. type: String
  37. },
  38. id: {
  39. default: '',
  40. required: false,
  41. type: String
  42. },
  43. classes: {
  44. default: '',
  45. required: false,
  46. type: String
  47. }
  48. },
  49. computed: {
  50. srcSet() {
  51. return this.pxWidths.reduce((setStr, width) => {
  52. return setStr += this.src+'?w='+width+' '+width+'w, '
  53. }, '')
  54. }
  55. }
  56. }
  57. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement