2016-09-23 4 views
3

Я добавление текста в HTML элемент из TSКак использовать трубы в тс не HTML

как этот

this.legend.append('text') 
    .attr('x', legendRectSize + legendSpacing) 
    .attr('y', legendRectSize - legendSpacing) 
    .text(function(d) { return d; }); 

это будет создавать HTML как

<text>Data will come here</text> 

Я хочу использовать трубу преобразовать эти данные в какую-то форму как я могу это сделать из кода ts?

и, как я создаю этот HTML динамически я не могу использовать трубу как этот

<text>{{Data will come here | pipename}} </text> 

Ищу somethig как

this.legend.append('text') 
    .attr('x', legendRectSize + legendSpacing) 
    .attr('y', legendRectSize - legendSpacing) 
    .text(function(d) { return d; }).applypipe('pipename'); 
+0

Просьба уточнить ваш вопрос. Мне трудно понять, что вы ищете. – MorKadosh

+0

это сейчас? @MorKadosh –

+0

, пожалуйста, добавьте свой полностью машинописный код. –

ответ

3

Если Pipename Ваш заказ трубы затем, если вы хотите использовать то же самое в вашем ts-файле, то вы можете использовать ниже код

import {Pipename} from './pipename'; 

Pipename.prototype.transform(arguments);//this is how u can use your custom pipe 
+0

Большое вам спасибо! оно работает! – mondayguy

6

Сначала импортируйте свою трубку в c omponent. И затем используйте свою трубку в своем компоненте. Как это ..

pipe.ts

/** 
* filter checkbox list 
*/ 
@Pipe({ name: 'filter', pure: true }) 
export class FilterPipe{ 
    transform(items: any[], args: any): any { 
    let filter = args.toString(); 
    if(filter !== undefined && filter.length !== null){ 
     if(filter.length === 0 || items.length ===0){ 
      return items; 
     }else{ 
      return filter ? items.filter(item=> item.title.toLocaleLowerCase().indexOf(filter) != -1) : items; 
     } 
    } 
    } 
} 

component.ts (Использование в коде машинопись)

filterPipe = new FilterPipe(); 
fiteredArr = filterPipe.transform(chkArray,txtSearch); 

xyz.html (Используйте в вашем HTML файле)

<ul> 
    <li *ngFor="todo for todos | filter:'txtsearch'"> {{todo.name}} </li> 
</ul> 
+0

мой вопрос: как использовать этот канал в javascript или машинописном коде, но не в html –

+0

Мой ответ также используется в тексте в машинописном тексте .. Не использовать в HTML –

+0

'pure: true' по умолчанию ... (https://angular.io/guide/pipes#pure-and-impure-pipes) – Guntram