2017-06-12 1 views
1

i ont ce code:Vue.js: majuscules ne fonctionne pas

data: { 
    cols: ['nome', 'data', 'size', 'ext'], 
    items: [] 
}, 

je aurais besoin de transformer le texte en majuscules. Je essayé de cette façon, en suivant les exemples du site officiel:

<th v-for="col in cols"> 
    {{col | uppercase}} 
</th> 

Cependant, le texte reste en minuscules. savez-vous pourquoi?

+2

https://stackoverflow.com/questions/41713941/filter-with-vuejs, si vous utilisez VueJS 2 majuscules a été supprimée. Vous devrez utiliser toUpperCase(), comme ceci: '

{{col.toUpperCase()}}

'. – Lindow

Répondre

3

Il n'y a pas de filtres intégrés dans Vue.js sinse 2.x, vous devez donc définir un filtre manuellement:

new Vue({ 
 
    el: '#app', 
 
    data: { 
 
    cols: ['nome', 'data', 'size', 'ext'] 
 
    }, 
 
    filters: { 
 
    uppercase: function(v) { 
 
     return v.toUpperCase(); 
 
    } 
 
    } 
 
});
<script src="https://unpkg.com/vue/dist/vue.js"></script> 
 

 
<div id="app"> 
 
    <table> 
 
    <thead> 
 
     <th v-for="col in cols"> 
 
     {{col | uppercase}} 
 
     </th> 
 
    </thead> 
 
    </table> 
 
</div>

+1

ok, en utilisant les filtres fonctionne! merci beaucoup! – matteo

+0

Alors s'il vous plaît accepter cette réponse. –

6

Il y a une alternative et plus simple à faire ce. Au lieu d'utiliser l'approche de @ wostex pour les filtres, vous pouvez utiliser Javascript directement à l'intérieur de la notation en double.

new Vue({ 
 
    el: '#app', 
 
    data: { 
 
    cols: ['nome', 'data', 'size', 'ext'] 
 
    } 
 
});
<script src="https://unpkg.com/vue/dist/vue.js"></script> 
 
<div id="app"> 
 
    <table> 
 
    <thead> 
 
     <th v-for="col in cols"> 
 
     {{ col.toUpperCase() }} 
 
     </th> 
 
    </thead> 
 
    </table> 
 
</div>