Tengo lo siguiente:
<div>{{modal.title}}</div>
¿Hay alguna manera de limitar la longitud de la cadena para decir 20 caracteres?
Y una pregunta aún mejor sería: ¿hay alguna manera de que pueda cambiar la cadena para que se trunca y mostrar ...
al final si tiene más de 20 caracteres?
Respuestas:
Editar La última versión del filtro de
AngularJS
ofertas .limitTo
Necesita un filtro personalizado como este:
Uso:
Opciones:
Otra solución : http://ngmodules.org/modules/angularjs-truncate (por @Ehvince)
fuente
Aquí está la solución simple de una línea sin CSS.
fuente
'...'
usted también puede usar la entidad HTML para puntos suspensivos:'…'
Sé que esto es tarde, pero en la última versión de angularjs (estoy usando 1.2.16), el filtro limitTo admite cadenas y matrices para que pueda limitar la longitud de la cadena de esta manera:
que dará como resultado:
fuente
Simplemente puede agregar una clase css al div y agregar información sobre herramientas a través de angularjs para que el texto recortado sea visible al pasar el mouse.
fuente
ng-repeat
.Tuve un problema similar, esto es lo que hice:
fuente
fuente
Solución más elegante:
HTML:
Código angular:
Manifestación:
http://code-chunk.com/chunks/547bfb3f15aa1/str-limit-implementation-for-angularjs
fuente
input
valor sea dinámico? es decir, de loif (!input) {return;}
contrario habrá errores de la consola JSDado que necesitamos puntos suspensivos solo cuando la longitud de la cadena está por encima del límite, parece más apropiado agregar puntos suspensivos mediante el uso
ng-if
que el enlace.fuente
Hay una opcion
fuente
La solución más simple que encontré para limitar simplemente la longitud de la cadena fue
{{ modal.title | slice:0:20 }}
, y luego tomar prestado de @Govan arriba puede usar{{ modal.title.length > 20 ? '...' : ''}}
para agregar los puntos de suspensión si la cadena es más larga que 20, por lo que el resultado final es simplemente:{{ modal.title | slice:0:20 }}{{ modal.title.length > 20 ? '...' : ''}}
https://angular.io/docs/ts/latest/api/common/index/SlicePipe-pipe.html
fuente
Aquí hay un filtro personalizado para truncar texto. Está inspirado en la solución de EpokK pero modificado para mis necesidades y gustos.
Y aquí están las pruebas unitarias para que pueda ver cómo se supone que debe comportarse:
fuente
Puede limitar la longitud de una cadena o una matriz utilizando un filtro. Mira este escrito por el equipo de AngularJS.
fuente
En html se usa junto con limitTo filter provisto por angular en sí como se muestra a continuación ,
filtro keepDots:
fuente
Si desea algo como: InputString => StringPart1 ... StringPart2
HTML:
Código angular:
Ejemplo con los siguientes parámetros:
beginLimit = 10
endLimit = 20
Antes : - /home/house/room/etc/ava_B0363852D549079E3720DF6680E17036.jar
Después : - /home/hous...3720DF6680E17036.jar
fuente
fuente
Esto puede no ser del final del script, pero puede usar el siguiente CSS y agregar esta clase al div. Esto truncará el texto y también mostrará el texto completo al pasar el mouse. Puede agregar un texto más y agregar un controlador de clic angular para cambiar la clase de div en cli
fuente
Si tienes dos enlaces
{{item.name}}
y{{item.directory}}
.Y desea mostrar los datos como un directorio seguido del nombre, suponiendo '/ root' como el directorio y 'Machine' como el nombre (/ root-machine).
fuente
Puede usar este módulo npm: https://github.com/sparkalow/angular-truncate
Inyecte el filtro truncado en el módulo de su aplicación de esta manera:
y aplique el filtro en su aplicación de esta manera:
fuente
fuente
Creé esta directiva que hace eso fácilmente, trunca la cadena a un límite especificado y agrega un conmutador "mostrar más / menos". Puede encontrarlo en GitHub: https://github.com/doukasd/AngularJS-Components
se puede usar así:
Aquí está la directiva:
Y algo de CSS para acompañarlo:
fuente
Esta solución es puramente usando ng tag en HTML.
La solución es limitar el texto largo que se muestra con el enlace 'mostrar más ...' al final. Si el usuario hace clic en el enlace "Mostrar más ...", mostrará el resto del texto y eliminará el enlace "Mostrar más ...".
HTML:
fuente
LA SOLUCIÓN MÁS FÁCIL -> que he encontrado es dejar que Material Design (1.0.0-rc4) haga el trabajo. El
md-input-container
hará el trabajo por usted. Concatena la cadena y agrega elipses, además tiene la ventaja adicional de permitirle hacer clic para obtener el texto completo para que sea toda la enchilada. Es posible que deba establecer el ancho demd-input-container
.HTML:
CS:
fuente
Limite la cantidad de palabras con un filtro angular personalizado: así es como utilicé un filtro angular para limitar la cantidad de palabras que se muestran usando un filtro personalizado.
HTML:
Código angular / Javascript
fuente
Funciona bien para mí 'In span', ng-show = "MyCtrl.value. $ ViewValue.length> your_limit" ... leer más. 'tramo final'
fuente
Utilizo un buen conjunto de útiles bibliotecas de filtros "Angular-filter" y una de ellas llamada "truncar" también es útil.
https://github.com/a8m/angular-filter#truncate
el uso es:
fuente