Mam następujące:
<div>{{modal.title}}</div>
Czy istnieje sposób na ograniczenie długości ciągu do 20 znaków?
A jeszcze lepszym pytaniem byłoby to, czy istnieje sposób, aby zmienić ciąg, który ma zostać obcięty i pokazać ...
na końcu, jeśli ma więcej niż 20 znaków?
Odpowiedzi:
Edytuj najnowszą wersję filtru
AngularJS
ofert .limitTo
Potrzebujesz takiego filtra niestandardowego :
Stosowanie:
Opcje:
Inne rozwiązanie : http://ngmodules.org/modules/angularjs-truncate (autor: @Ehvince)
źródło
Oto prosta poprawka jednej linii bez css.
źródło
'...'
możesz również użyć encji HTML do elipsy:'…'
Wiem, że jest późno, ale w najnowszej wersji angularjs (używam 1.2.16) filtr limitTo obsługuje ciągi znaków, a także tablice, dzięki czemu możesz ograniczyć długość łańcucha w następujący sposób:
który wyświetli:
źródło
Możesz po prostu dodać klasę css do div i dodać podpowiedź poprzez angularjs, aby przycięty tekst był widoczny po najechaniu myszą.
źródło
ng-repeat
.Miałem podobny problem, oto co zrobiłem:
źródło
źródło
Bardziej eleganckie rozwiązanie:
HTML:
Kod kątowy:
Próbny:
http://code-chunk.com/chunks/547bfb3f15aa1/str-limit-implementation-for-angularjs
źródło
input
wartość jest dynamiczna? tzn. wif (!input) {return;}
przeciwnym razie wystąpią błędy konsoli JSPonieważ potrzebujemy wielokropka tylko wtedy, gdy długość łańcucha przekracza limit, bardziej odpowiednie wydaje się dodanie wielokropka za pomocą
ng-if
niż wiązania.źródło
Istnieje opcja
źródło
Najprostszym rozwiązaniem, jakie znalazłem, by po prostu ograniczyć długość sznurka było
{{ modal.title | slice:0:20 }}
, a następnie pożyczając od @Govan powyżej, możesz użyć,{{ modal.title.length > 20 ? '...' : ''}}
aby dodać punkty zawieszenia, jeśli sznurek jest dłuższy niż 20, więc końcowy wynik jest po prostu:{{ modal.title | slice:0:20 }}{{ modal.title.length > 20 ? '...' : ''}}
https://angular.io/docs/ts/latest/api/common/index/SlicePipe-pipe.html
źródło
Oto niestandardowy filtr do obcinania tekstu. Jest zainspirowany rozwiązaniem EpokK, ale zmodyfikowany do moich potrzeb i gustów.
A oto testy jednostkowe, dzięki czemu możesz zobaczyć, jak ma się zachowywać:
źródło
Możesz ograniczyć długość łańcucha lub tablicy za pomocą filtra. Sprawdź ten napisany przez zespół AngularJS.
źródło
W html jest używany wraz z filtrem limitTo zapewnianym przez sam kątownik jak poniżej ,
filtruj keepDots:
źródło
Jeśli chcesz coś takiego: InputString => StringPart1 ... StringPart2
HTML:
Kod kątowy:
Przykład z następującymi parametrami:
beginLimit = 10
endLimit = 20
Przed : - /home/house/room/etc/ava_B0363852D549079E3720DF6680E17036.jar
Po : - /home/hous...3720DF6680E17036.jar
źródło
źródło
To może nie być koniec skryptu, ale możesz użyć poniższego css i dodać tę klasę do div. Spowoduje to obcięcie tekstu i wyświetlenie pełnego tekstu po najechaniu kursorem myszy. Możesz dodać więcej tekstu i dodać hadler kliknięcia kątowego, aby zmienić klasę div na cli
źródło
Jeśli masz dwa powiązania
{{item.name}}
i{{item.directory}}
.I chcę pokazać dane jako katalog, po którym następuje nazwa, przyjmując „/ root” jako katalog i „Machine” jako nazwę (/ root-machine).
źródło
Możesz użyć tego modułu npm: https://github.com/sparkalow/angular-truncate
Wstaw filtr obcięcia do modułu aplikacji w następujący sposób:
i zastosuj filtr w swojej aplikacji w ten sposób:
źródło
źródło
Stworzyłem tę dyrektywę, która łatwo to robi, skraca ciąg znaków do określonego limitu i dodaje przełącznik „pokaż więcej / mniej”. Możesz go znaleźć na GitHub: https://github.com/doukasd/AngularJS-Components
można go użyć w następujący sposób:
Oto dyrektywa:
I trochę CSS do tego:
źródło
To rozwiązanie wykorzystuje wyłącznie tag ng w HTML.
Rozwiązaniem jest ograniczenie długiego tekstu wyświetlanego za pomocą linku „pokaż więcej ...” na jego końcu. Jeśli użytkownik kliknie link „pokaż więcej ...”, wyświetli resztę tekstu i usunie link „pokaż więcej ...”.
HTML:
źródło
NAJ ŁATWIEJSZE ROZWIĄZANIE -> jakie znalazłem, to pozwolenie Material Design (1.0.0-rc4) na wykonanie pracy.
md-input-container
Zrobi to za Ciebie. Kończy ciąg znaków i dodaje elipsy, a ponadto ma tę dodatkową zaletę, że pozwala kliknąć go, aby uzyskać pełny tekst, więc jest to cała enchilada. Może być konieczne ustawienie szerokościmd-input-container
.HTML:
CS:
źródło
Ogranicz liczbę słów za pomocą niestandardowego filtra kątowego: Oto jak użyłem filtra kątowego, aby ograniczyć liczbę słów wyświetlanych za pomocą niestandardowego filtra.
HTML:
Kod kątowy / JavaScript
źródło
Dla mnie działa dobrze „In span”, ng-show = "MyCtrl.value. $ ViewValue.length> your_limit" ... czytaj więcej. „koniec zakresu”
źródło
Używam ładnego zestawu przydatnych bibliotek filtrów „Filtr kątowy”, a jeden z nich o nazwie „obcinaj” też jest przydatny.
https://github.com/a8m/angular-filter#truncate
użycie jest:
źródło