2016-07-21 5 views
0

私はangular2を学んでいますngStyleについて質問があります。次のコードを考えてみましょう:なぜ表現ではない

<div> 
    <span [ngStyle]="{color: 'red'}" [style.font-size.px]="fontSize"> 
    red text 
    </span> 
</div> 

をなぜ[style.font-size.px]="fontSize"{{}}を必要としないのですか?等:

<div> 
    <span [ngStyle]="{color: 'red'}" [style.font-size.px]="{{fontSize}}"> 
    red text 
    </span> 
</div> 

答えて

3

補間{{…}})と"テンプレート表現" の構文を使用[…](…)[(…)]を)結合の両方。

あなたがのためにリテラル値を望んでいた場合は、*やるべき結合

[foo]="'strValue'" 

IOW:式を結合することは、すでに "テンプレート式" を必要

https://angular.io/docs/ts/latest/guide/template-syntax.html

*を見てください)以下のGünterのコメントを読んでください

+2

それは悪い習慣だと考えていますが、 'foo =" strValue "'もうまくいきます。また、 'ngStyle'の' {} 'は' {{}} 'と全く関係していないと付け加えます。前者はオブジェクトリテラル構文であり、後者はAngular2文字列値バインディング構文です。 –

+0

あなたは正しいです。私はタイプミスで既に多くの頭痛を引き起こしているので、無効にすることができたらいいと思います(あなたの(重要な)コメントを参照するように投稿を更新しました)。 –

関連する問題