2016-11-16 4 views
7

angular2バインディングで数学関数を使用する方法はありますか?angular2バインディングの数学関数

<div class="partition-panel"> 
       <b class="pull-left">{{Math.round(variable/12*2)}}</b> 
       <b class="pull-right">{{Math.round(variable/12*2)}}</b> 
</div> 

試みは、これを使用するとき、私は、エラー

Cannot read property 'round' of undefined 

も同様の質問はあなたがこれを試すことができますangular1

+1

問題は、テンプレートからはあなたの 'Component'のローカルスコープにしかアクセスできないため、Adrienのようなヘルパーメソッドを定義するか、' window.Math'をメンバ変数に割り当てる必要があります。 – rinukkusu

答えて

26

のために回答されました:

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
     <h2>Hello {{this.Math.round(this.number)}}</h2> 
    </div> 
    `, 
}) 
export class App { 
    number: number; 
    Math: any; 
    constructor() { 
    this.Math = Math; 
    this.number = 2.5 
    } 
} 
+0

これはうまくいきましたが、宣言をMathが必要なテンプレートのコンポーネントに移動しなければなりませんでした。 – RSinohara

+0

また、コンストラクタでinit Mathを避けて、簡単に書くことができます。 数学:数学=数学; – 39ro