Angular4 - 自定义管道创建
问题描述:
我不能理解下面的代码中的一件事 - 为什么(limit)
在括号中?Angular4 - 自定义管道创建
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);
}
}
感谢
这里的截图,可以肯定我复制是正确的:因为真实状况缺乏一个表达
答
该代码将引发语法错误。在你的例子中不需要括号,你可以写它像
let specificLimit = limit ? : 50;
太,但就像我说的这会抛出一个错误。你必须给它的价值,当三元产量是真实的,所以类似:
let specificLimit = limit ? limit : 50;
你确定你复制了那部分'(限制)? :50;'正确?它似乎是一个不正确的语法 –
@Maximus,我相信,我从教程的视频添加了一个屏幕截图,来自Udemy.com - https://www.udemy.com/angular-2-tutorial-for-beginners –
是的,这是一个不同的情况,它现在是正确的语法。括号只是一种样式偏好,当我们有一个像'(limit === 3)这样的表达式时,它们对我更有意义?限制:50' –