Maison  >  Questions et réponses  >  le corps du texte

Comment ajouter des styles conditionnels dans Vue.js à l'aide de méthodes ?

Je souhaite ajouter un style conditionnel dans le composant enfant en fonction de la valeur de accessoire transmise par le composant parent.

Voici un exemple concret de style conditionnel :

<li v-bind:class="[booleanValue ? 'stylingClassOne' : 'stylingClassTwo']"

Mais cela ne fonctionne que lorsque mon style est basé sur une seule variable et ne peut avoir que deux valeurs (vrai/faux).

Je souhaite implémenter un style conditionnel basé sur une variable pouvant prendre plusieurs valeurs. Disons que je passe une chaîne du composant parent au composant enfant stylingDecider,其值可以是 stylingClassOnestylingClassTwostylingClassThree.

Je veux donc faire ce qui suit : <li v-bind:class="getStylingClass(stylingDecider)"> 但这确实不起作用。我需要一个方法来决定样式是什么的原因是因为其中会进行一些其他处理,这些处理将返回基于所述处理的类,所以我不能只使用 <li v-bind:class="stylingDecider" .

Qu'est-ce que j'ai fait de mal ? S'il vous plaît conseiller, merci. J'utilise Vue 3 et bootstrap-vue 3.

P粉327903045P粉327903045211 Il y a quelques jours388

répondre à tous(1)je répondrai

  • P粉653045807

    P粉6530458072024-03-22 18:24:16

    Je viens de créer un extrait de code fonctionnel :

    Vue.component('child', {
      props: ['dynamicstyle'],
      template: `
    • Hello !!
    `, methods: { getStylingClass(stylingDecider) { return stylingDecider; } } }); var app = new Vue({ el: '#app', data: { stylingDecider: 'stylingClassTwo' } });
    .stylingClassTwo {
      background: green;
    }
    sssccc
    

    répondre
    0
  • Annulerrépondre