¿Cómo cambiar las terminaciones de las palabras en vue? Por ejemplo: 1 día/3 días, 1 detalle/5 detalles
En el código js será como:
function declOfNum(number, titles) { let cases = [2, 0, 1, 1, 1, 2]; return titles[(number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5]]; }Soy nuevo con vue, lo siento por la pregunta simple:]
Bueno, esto es realmente sencillo. puedes hacer un método para eso.
getTitle(number) { return `${number} detail${number > 1 ? 's' : ''}`; }luego, en su plantilla, simplemente llame a este método pasando el número como este.
También puede pasar title si tiene otros títulos además de detail .
{{ getTitle(2) }}
Puede intentar usar la propiedad calculada con el objeto de datos:
var app = new Vue({ el: '#app', data() { return { titles: ['detal', 'details'], num: 2 } }, computed: { detail: function() { if (this.num > 1) return this.titles[1] return this.titles[0] } } }); <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <p>{{ detail }}</p> <input v-model="num" type="number" /> </div>