2017-08-16 63 views
1

我不能split使用离子的值pipe使用离子管不能拆分

<div class="col" style="text-align: right">{{ timearrivals | mattDamon }}</div> 

pipe代码是在这里:

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

@Pipe({ 
    name: 'mattDamon' 
}) 
export class MattDamon { 
    transform(value, args) { 
     let time = value.split('T')[1]; 
     let timehr = time.split(':')[0]; 
     let timemin = time.split(':')[1]; 
     let Fulltim = timehr + ":" + timemin; 
     return Fulltim; 
    } 
} 

它显示了以下错误:

但我split在另一页使用该pipe另一个变量。

<P>{{ item.operationalTimes.publishedArrival.dateLocal | mattDamon }}</P> 
+0

它显示未定义 –

+0

为什么我得到了一个未定义? 当使用像这样的{{timearrivals}}时,它显示的值为 ,但{{timearrivals | mattDamon}}它显示undefined –

+0

为什么我得到undefined?当使用像这样{{timearrivals}}时,它显示值,但{{timearrivals | mattDamon}}它显示未定义 –

回答

0

出于某种原因timearrivals还没有一个值首次mattDamon -pipe运行。为了保护自己免受试图调用split()timearrivals当它是undefined,用一个简单的if-else

transform(value, args){ 
    if(value){ 
     let time = value.split('T')[1]; 
     let timehr = time.split(':')[0]; 
     let timemin = time.split(':')[1]; 

     let Fulltim = timehr + ":" + timemin; 
     return Fulltim; 
    } 
    else{ 
     return value; 
    } 
}