Angular4 - 自定义管道创建

时间:2017-07-14 06:27:40

标签: angular angular-pipe

我无法理解下面代码中的一件事 - 为什么(limit)在括号中?

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

@Pipe ({
 name: 'summary'
})

export class SummaryPipe implements PipeTransofm {
 transform(value: string, limit?: number) {
  if (!value) 
   return null;

  let specificLimit = (limit) ? limit : 50;
  return value.substr(0, specificLimit);
 }
}

由于

这是一个截图,确保我正确复制了它:

enter image description here

1 个答案:

答案 0 :(得分:1)

此代码将引发语法错误,因为真实条件缺少表达式。在您的示例中不需要括号,您可以像

一样编写它
let specificLimit = limit ? : 50;

也像我说的那样会引发错误。你必须给它一个三态何时产生真值的值,如下所示:

let specificLimit = limit ? limit : 50;