2017-09-29 2 views
0

J'essaie d'utiliser une déclaration dans un élément:Vue: propriétés de l'objet composant d'accès

v-if="currentstep < maxStep" 

Le maxstep doit être obtenu à partir du nombre de composants inscrits sur mon defauld export

export default { 
    name: 'step', 
    data() { 
     return { 
     maxStep: 8, 
     currentstep: 0 
     } 
    }, 
    components: { 
     ConfigPublicador, 
     ConfigServico, 
     ModeloReceita, 
     Integracoes, 
     ConfigTema, 
     ConfigApp, 
     ConfigExtras, 
     Assets, 
     Revisao 
    } 
    } 

Quelque chose comme

maxStep = components.length 

Des idéologies? Merci

Répondre

1

Ceci est certainement une odeur de code. Mais, vous pouvez obtenir cette valeur via Object.keys(this.$options.components).length.

Voici un exemple:

const Foo = { 
 
    template: '<div></div>', 
 
} 
 

 
new Vue({ 
 
    el: '#app', 
 
    components: { Foo }, 
 
    data() { 
 
    return { 
 
     count: 0, 
 
    } 
 
    }, 
 
    created() { 
 
    this.count = Object.keys(this.$options.components).length; 
 
    } 
 
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.4/vue.js"></script> 
 
<div id="app"> 
 
    <div v-if="count > 0"> 
 
    There is at least one component 
 
    </div> 
 
</div>

+0

Désolé, mais les options.components $ liste de tous les composants, je suis à la recherche de la référence interne – RCO

+0

Je ne pense pas que ce soit. https://jsfiddle.net/qkvxz85m/ – thanksd