Как использовать встроенный конвейер angular2 в файлах сценариев служб и директив
Мне нужно использовать канал даты angular2 в файлах сценариев служб и директив (не только в HTML).
У кого-нибудь есть идеи?
Не могу загрузить код, потому что некоторые ограничения политики, извините за это.
2 ответа
Решение
Поскольку CommonModule не экспортирует его как провайдера, вам придется сделать это самостоятельно. Это не очень сложно.
1) Импорт DatePipe:
import { DatePipe } from '@angular/common';
2) Включите DatePipe в провайдеров вашего модуля:
NgModule({
providers: [DatePipe]
})
export class AppModule {
}
или поставщики компонентов:
@Component({
selector: 'home',
styleUrls: ['./home.component.css'],
templateUrl: './home.component.html',
providers: [DatePipe]
})
export class HomeComponent {
...
3) Вставьте его в конструктор вашего компонента, как и любой другой сервис:
constructor(private datePipe: DatePipe) {
}
4) Используйте это:
ngOnInit() {
this.time = this.datePipe.transform(new Date());
}
Попробуйте что-то вроде этого:
new DatePipe().transform(myDate, 'yyyy-dd-MM');
Надеюсь, это поможет.