2016-12-02 9 views
2
<li *ngFor="let pdfifRecord of pdf.ifRecord;let i=index"> 
        <p>{{eval(pdfifRecord.labelMsg)}}</p> 
</li> 

私はevalの結果を表示したいと思います。角2、eval()関数を使用したインラインテンプレートのエラー

しかしによって引き起こさインラインテンプレートでエラー

取得時にエラーが発生しまし:self.parent.parent.parent.context.evalは関数ではありません。

しかし、私の.TSで同じ作業など ファイル:
console.log(eval("GECM_IFL_ATTENTION_NEEDED_ITIQ"));

+6

あなたは決して 'eval()'を使うべきではありません。決して。スコープをねじ込み、アプリケーションのセキュリティホールを開きます。 –

+3

* EVALはEVILです* ..なぜあなたはevalをテンプレート式に作用させたいのですが、それはセキュリティ上の脅威になります。 –

+0

関数の置き換えはありますか? – sreekanth

答えて

2

をさてあなたはevalを使用しないでください。しかし、あなたの質問に答えてください。それは関数ではないと言う理由は、あなたのクラスでevalという関数を探しているからです。存在しない

これは、例えば働くだろう:

@Component({ 
    selector: 'my-component', 
    template: `<h2>Hello {{eval()}}` 

}) 

export class MyComponent { 
    public eval() { 
    let e = eval(2*3); 
    return e ; 
    } 
} 

Plunkr例:

https://plnkr.co/edit/YZJGPX8pjf9BNbB1F8JJ?p=preview

ここでも、あなたはevalを使用しないでください。

+1

EVALすべてのもの!! –

+0

が働いてくれてありがとう。しかし、あなたはeval()の代替案を提案することができます – sreekanth

+0

@sreekanth、私はあなたがevalでやろうとしていることを正確にはわかりません。しかし、多分これらの以前に尋ねられた質問のいくつかを見てください.. http://stackoverflow.com/questions/16037033/alternative-to-eval-javascript、http://softwareengineering.stackexchange.com/questions/323592/alternative- for-eval-in-expression-evaluation- –

関連する問題