2017-07-14 59 views
2

我不能理解下面的代碼中的一件事 - 爲什麼(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); 
} 
} 

感謝

這裏的截圖,可以肯定我複製是正確的:因爲真實狀況缺乏一個表達

enter image description here

+0

你確定你複製了那部分'(限制)? :50;'正確?它似乎是一個不正確的語法 –

+0

@Maximus,我相信,我從教程的視頻添加了一個屏幕截圖,來自Udemy.com - https://www.udemy.com/angular-2-tutorial-for-beginners –

+1

是的,這是一個不同的情況,它現在是正確的語法。括號只是一種樣式偏好,當我們有一個像'(limit === 3)這樣的表達式時,它們對我更有意義?限制:50' –

回答

1

該代碼將引發語法錯誤。在你的例子中不需要括號,你可以寫它像

let specificLimit = limit ? : 50; 

太,但就像我說的這會拋出一個錯誤。你必須給它的價值,當三元產量是真實的,所以類似:

let specificLimit = limit ? limit : 50;