¿Cómo truncar palabras o caracteres en VueJs 3? Busqué algunas respuestas pero no funcionó para mí. Por ejemplo, si las palabras de descripción tienen más de 200, debería mostrar 200 palabras y... al final
Lo que probé hasta ahora..
<p>{{ announcement.description | truncate(200) }}</p> <script> export default { data() { return { announcement: {}, } }, computed:{ truncate(value, length) { if (value.length > length) { return value.substring(0, length) + "..."; } else { return value; } } } } </script>Lo que está buscando es un método, no una propiedad calculada. A computed property is used to declaratively describe a value that depends on other values . Mueva su código a métodos y pase el argumento con la longitud que debería funcionar.
methods: { truncate(value, length) { if (value.length > length) { return value.substring(0, length) + "..."; } else { return value; } } }Y simplemente llame a este método desde la plantilla:
truncate(announcement.description,200)
Puede leer sobre el uso correcto de computado desde aquí: https://vuejs.org/v2/guide/computed.html