Pereiti prie turinio

[Vue.js] Dinaminis importavimas (ir atvaizdavimas kaip komponentą)


Rekomenduojami pranešimai

Sveiki. Turiu komponentą, kuris importuoja SVG ikonas.

Šitas kodas veikia puikiai:

 


<template>
   <footer>
           <FacebookIcon />
   </footer>
</template>

<script>
   import FacebookIcon from '../assets/svg/facebook.svg';

   export default {
       components: {
           [size=2]FacebookIcon[/size][size=2] [/size]
       },
   };
</script>

 

Bet jei tokių ikonų pvz. 30, toks variantas nepatogus.

Bandžiau daryti tokį variantą:


<template>
   <Icon />
</template>


<script>
   export default {
       props: ['icon'],
       components: {
           Icon: () => this.loadIcon()
       },
       methods: {
           loadIcon() {
               let iconName = this.icon + '.svg';
               return System.import('../assets/svg/'+iconName);
           }
       }
   }
</script>

Bet neveikia. this.icon = undefined.

 

Kaip jūs pasidarot dinaminius importus?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

<template>
   <Icon />
</template>

 

kurioje čia vietoje jis užsetintas?

 

siūlyčiau pasiskaityti https://vuejs.org/v2/guide/components-props.html (o dar geriau, pradėt skaityt dokumentaciją nuo pradžių), nes dabar tai toks jausmas, kad tu visiškai nesuvoki, kaip kas veikia, o tiesiog bandai random būdu padaryt, kad veiktų ir tiek :))

Nuoroda į pranešimą
Dalintis kituose puslapiuose

<template>
   <Icon />
</template>

 

kurioje čia vietoje jis užsetintas?

 

siūlyčiau pasiskaityti https://vuejs.org/v2...ents-props.html (o dar geriau, pradėt skaityt dokumentaciją nuo pradžių), nes dabar tai toks jausmas, kad tu visiškai nesuvoki, kaip kas veikia, o tiesiog bandai random būdu padaryt, kad veiktų ir tiek :))

 

Pasimoviau, jis niekur neužsettintas. Man esmė, kad reik staigiai čia ir dabar padaryt, kad veiktų. Aš paskui persiskaitysiu tą dokumentaciją, bet man reikia dabar. Su react'u viskas žymiai paprasčiau.

 

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...