2017-07-11 3 views
0

i bin neu zu Winkel 2, i verwendet, um den Auszug eines Textes in AngularJS wie dies mit einem Filter zu bekommen:Wie mache ich einen Auszug Filter in Winkel 2?

app.filters.js:

app.filter('excerpt', function() { 
    return function (text, length) { 
     if (text.length > length) { 
      return text.substr(0, length) + '...'; 
     } 
     return text; 
    } 
}); 

in HTML-Datei :

{{blog.content | excerpt:90}} 

was ist das Äquivalent in Winkel 2?

+0

Rohre: https://angular.io/guide/pipes. Beachten Sie, dass die Dokumente ein AngularJS: Angular Mapping für Sie bereitstellen: https://angular.io/guide/ajs-quick-reference#filters. – jonrsharpe

Antwort

1

Dies sollte es tun:

  • zuerst Ihre Filter .ts-Datei erstellen:

excerpt.filter.ts

import { Pipe, PipeTransform } from '@angular/core'; 

@Pipe({ 
    name: 'excerpt', 
    pure: false 
}) 
export class ExcerptFilter implements PipeTransform { 
    transform(text: String, length:any): any { 
    if (!text || !length) { 
     return text; 
    } 
    if (text.length > length) { 
     return text.substr(0, length) + '...'; 
    } 
     return text; 

    } 
} 
  • Dann können Sie es verwenden wie folgt:

template.component.html

<div class="description">{{blog.content | excerpt:90}} </div> 
  • Vergewissern Sie sich, dass Sie Ihren Filter in app.module.ts Datei importieren:

    import {ExcerptFilter} from './filters/excerpt.filter';

für mehr Infos über das Erstellen von Rohren sehen the Docs

0
@Pipe({ 
    name: 'excerpt' 
}) 
export class ExcerptPipe implements PipeTransform { 
    transform(text: string, length: number): string { 
    if (text.length > length) { 
     return text.substr(0, length) + '...'; 
    } 
    return text; 
    } 
} 

{{ textToTransform | excerpt: 90 }}

Denken Sie daran, das Rohr in Ihrem Modul hinzuzufügen.