2017-12-16 3 views
1

のメソッド:角度:パイプ対私は、この例のようにモデルの関数を使用するモデル

//user.madel.ts 
User { 
... 
getFullname() {return this.firstname + ' ' + this.lastName;} 
..} 
// in html I can do that 
<span> {{user.getFullName()}} <span> 

それが適切であるか、私はパイプを使用する必要がありますか?

+1

オブジェクト指向の観点からは、モデルには独自のプロパティにアクセスして変更するためのプライベートな権限が必要です。パイプは表示用の値を変換するためのものです。たとえば、Fullnameを大文字にしたい場合、モデルのメソッドとパイプは異なる値で表示するために値を変換します – Mehdi

+2

あなたが持っているものはそのまま意味を持ちます。 – DeborahK

+0

メソッドが と呼ばれる回数に関して高価ではありませんか? –

答えて

1

角パイプは、の純粋なパイプはパフォーマンス上の利点があります。 firstnamelastname両方が変更されると予想されるので、純粋なパイプはオプションではありません、そして、それには性能上の利点を上に有していないいずれか

{{ user.firstname | fullname(user.lastname }} 

又は

{{ user | fullname }} 

不純パイプとして終了しますゲッター法。

計算が安価であるならば、それはゲッターメソッドまたはgetプロパティアクセサのいずれかになります:

get fullname() {return this.firstname + ' ' + this.lastname;} 

そうでない場合、戻り値は、パフォーマンス上の理由のためにキャッシュされなければなりません。

関連する問題