2016-12-21 11 views
2

htmlでスペースを自分の値に設定する方法に関するちょっとした問題です。 私はコードを持っている:TypescriptでHTMLスペースコードを設定する2

setValuetoComboBox(test:string, lvl:number){ 
    let lastTest:string; 
    let spaceString:string; 
    //  
    spaceString='&#160'; 
    for(var i = 1; i <= lvl; i++){ 
     spaceString=spaceString + '&#160'; 
    } 
    lastTest = spaceString + test; 
    return lastTest; 
} 

このコードでは、私は、HTMLのスペースを作るために&#160を持っています。そして私は、HTMLのコードを持っている:

        <select [formControl]="parent" class="form-control"> 
            <option value="-1">Root</option> 
            <option value="{{test.id}}" *ngFor="let test of parentValue"> 
             {{setValuetoComboBox(test.name, test.lvl)}} 
            </option> 
           </select> 

と結果は次のとおりです。

The Result

この間違った結果、私はスペースでないコード&#160が欲しいです。誰も私の問題についての答えを見つけることができますか?私はあなたが実際に何をしたいと思います

+0

コードの代わりに '''を使用しますか? – echonax

+0

それは動作していません –

答えて

1

はリテラル文字列が挿入されます{{ }}

<option value="{{test.id}}" *ngFor="let test of parentValue" 
    [innerHTML]="setValuetoComboBox(test.name, test.lvl)"> 
</option> 

です。

How to bind raw html in Angular2

に示すように、あなたがsetValuetoComboBox(...)は非常に頻繁に(角度の実行が検出を変更するたびに)呼ばれるかもしれないことを認識しておく必要があり、たとえば消毒剤を使用するなど、安全なそれをマークする必要があるかもしれません。通常は、呼び出しの結果をプロパティに代入し、関数にバインドするのではなく、このプロパティにバインドすることをお勧めします。

このため、ビュー内の関数へのバインドは一般的にはお勧めできません。重大なパフォーマンスの問題を引き起こす可能性があります。

+1

あなたの答えに感謝、これは仕事です –

関連する問題