J'ai ce qui suit:
<div>{{modal.title}}</div>
Existe-t-il un moyen de limiter la longueur de la chaîne à 20 caractères?
Et une question encore meilleure serait: existe-t-il un moyen de changer la chaîne à tronquer et de l'afficher ...
à la fin si c'est plus de 20 caractères?
Réponses:
Modifier La dernière version du filtre d'
AngularJS
offres .limitTo
Vous avez besoin d'un filtre personnalisé comme celui-ci:
Usage:
Options:
Une autre solution : http://ngmodules.org/modules/angularjs-truncate (par @Ehvince)
la source
Voici le correctif simple d'une ligne sans CSS.
la source
'...'
vous pouvez également utiliser l'entité HTML pour les points de suspension:'…'
Je sais que c'est tard, mais dans la dernière version d'angularjs (j'utilise 1.2.16), le filtre limitTo prend en charge les chaînes ainsi que les tableaux afin que vous puissiez limiter la longueur de la chaîne comme ceci:
qui produira:
la source
Vous pouvez simplement ajouter une classe css à la div, et ajouter une info-bulle via angularjs pour que le texte découpé soit visible à la souris.
la source
ng-repeat
.J'ai eu un problème similaire, voici ce que j'ai fait:
la source
la source
Solution plus élégante:
HTML:
Code angulaire:
Démo:
http://code-chunk.com/chunks/547bfb3f15aa1/str-limit-implementation-for-angularjs
la source
input
valeur est dynamique? à- dire leif (!input) {return;}
cas contraire , il y aura des erreurs de console JSComme nous n'avons besoin de points de suspension que lorsque la longueur de la chaîne dépasse la limite, il semble plus approprié d'ajouter des points de suspension à l'aide
ng-if
de la liaison.la source
Il y a une option
la source
La solution la plus simple que j'ai trouvée pour simplement limiter la longueur de la chaîne était
{{ modal.title | slice:0:20 }}
, puis emprunter à @Govan ci-dessus, vous pouvez utiliser{{ modal.title.length > 20 ? '...' : ''}}
pour ajouter les points de suspension si la chaîne est supérieure à 20, le résultat final est donc simplement:{{ modal.title | slice:0:20 }}{{ modal.title.length > 20 ? '...' : ''}}
https://angular.io/docs/ts/latest/api/common/index/SlicePipe-pipe.html
la source
Voici un filtre personnalisé pour tronquer le texte. Il est inspiré de la solution d'EpokK mais modifié selon mes besoins et mes goûts.
Et voici les tests unitaires pour que vous puissiez voir comment il doit se comporter:
la source
Vous pouvez limiter la longueur d'une chaîne ou d'un tableau à l'aide d'un filtre. Vérifiez celui-ci écrit par l'équipe AngularJS.
la source
En html, il est utilisé avec le filtre limitTo fourni par angular lui-même comme ci - dessous ,
filtre keepDots:
la source
Si vous voulez quelque chose comme: InputString => StringPart1 ... StringPart2
HTML:
Code angulaire:
Exemple avec les paramètres suivants:
beginLimit = 10
endLimit = 20
Avant : - /home/house/room/etc/ava_B0363852D549079E3720DF6680E17036.jar
Après : - /home/hous...3720DF6680E17036.jar
la source
la source
Cela peut ne pas provenir de la fin du script, mais vous pouvez utiliser le css ci-dessous et ajouter cette classe à la div. Cela tronquera le texte et affichera également le texte intégral au survol de la souris. Vous pouvez ajouter un texte plus et ajouter un hadler clic angulaire pour changer la classe de div sur cli
la source
Si vous avez deux fixations
{{item.name}}
et{{item.directory}}
.Et souhaitez afficher les données sous forme de répertoire suivi du nom, en supposant «/ root» comme répertoire et «Machine» comme nom (/ root-machine).
la source
Vous pouvez utiliser ce module npm: https://github.com/sparkalow/angular-truncate
Injectez le filtre tronqué dans votre module d'application comme ceci:
et appliquez le filtre dans votre application de cette façon:
la source
la source
J'ai créé cette directive qui le fait facilement, tronque la chaîne à une limite spécifiée et ajoute une bascule "afficher plus / moins". Vous pouvez le trouver sur GitHub: https://github.com/doukasd/AngularJS-Components
il peut être utilisé comme ceci:
Voici la directive:
Et quelques CSS pour aller avec:
la source
Cette solution utilise uniquement ng balise sur HTML.
La solution est de limiter le long texte affiché avec le lien "afficher plus ..." à la fin de celui-ci. Si l'utilisateur clique sur le lien "afficher plus ...", il affichera le reste du texte et supprimera le lien "afficher plus ...".
HTML:
la source
LA SOLUTION LA PLUS FACILE -> que j'ai trouvée est de laisser Material Design (1.0.0-rc4) faire le travail. Le
md-input-container
fera le travail pour vous. Il concatène la chaîne et ajoute des elipses, plus il a l'avantage supplémentaire de vous permettre de cliquer dessus pour obtenir le texte complet, de sorte que c'est toute l'enchilada. Vous devrez peut-être définir la largeur dumd-input-container
.HTML:
CS:
la source
Limitez le nombre de mots avec un filtre angulaire personnalisé: voici comment j'ai utilisé un filtre angulaire pour limiter le nombre de mots affichés à l'aide d'un filtre personnalisé.
HTML:
Code angulaire / Javascript
la source
Cela fonctionne bien pour moi 'In span', ng-show = "MyCtrl.value. $ ViewValue.length> your_limit" ... en savoir plus. «durée de fin»
la source
J'utilise un bel ensemble de bibliothèque de filtres utiles "Angular-filter" et l'un d'eux appelé "tronquer" est également utile.
https://github.com/a8m/angular-filter#truncate
l'utilisation est:
la source