Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. <template>
  2. <component :is="iconComponent"/>
  3. </template>
  4.  
  5. <script>
  6. export default {
  7. props: {
  8. name: {
  9. type: String,
  10. required: true
  11. }
  12. },
  13. data(){
  14. return {
  15. iconComponent: null
  16. }
  17. },
  18. methods: {
  19. async importSvgFile(filename){
  20. if (typeof filename === 'string' && filename.length){
  21. await import(`!vue!svg-to-vue!path/to/assets/folder/${filename}.svg`)
  22. .then((module) => {
  23. if (module && module.default){
  24. this.iconComponent = module.default
  25. }
  26. }).catch((err) => {
  27. console.error(`Ikon dengan nama ${filename} tidak dapat ditemukan.`)
  28. })
  29. }
  30. }
  31. },
  32. watch: {
  33. name: {
  34. immediate: true,
  35. handler: 'importSvgFile'
  36. }
  37. }
  38. }
  39. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement