有什么方法可以在Ionic中以编程方式触发管道?我已经使用管道来显示或隐藏按钮,如下所示:
<ion-list no-lines *ngFor="let item of mylist">
<ion-card class="card">
<ion-card-header>
{{item.name}}
</ion-card-header>
<ion-card-content no-lines text-wrap>
<button ion-button color="danger" (click)="ButtonClick1(item.id)" [class.hide]="item.startDate | checkinButtonEnablePipe: item.endDate">Test Button</button>
</ion-card-content>
</ion-card>
</ion-list>
我的自定义管道的代码是:
import { Pipe, PipeTransform } from '@angular/core';
import moment from "moment";
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
/**
* Generated class for the CheckinButtonEnablePipe pipe.
*
* See https://angular.io/api/core/Pipe for more info on Angular Pipes.
*/
@Pipe({
name: "checkinButtonEnablePipe"
})
export class CheckinButtonEnablePipe implements PipeTransform {
transform(value: Date, value2: Date) {
var dtstart = moment(value).format("YYYY/MM/DD, h:mm:ss a");
var dtend = moment(value2).format("YYYY/MM/DD, h:mm:ss a");
var dtnow = moment().format("YYYY/MM/DD, h:mm:ss a");
if (dtnow >= dtstart && dtnow <= dtend)
return false;
else
return true;
}
}
我正在按5分钟间隔检查一次时间,如果时间在开始日期和结束日期之间,我想显示一个按钮。 任何帮助表示赞赏。
答案 0 :(得分:1)
您可以使用此解决方案。
import {CheckinButtonEnablePipe} from './pipe_path'
constructor(private checkinButtonEnablePipe:CheckinButtonEnablePipe){
checkinButtonEnablePipe.transform(value1,value2)
}