knockout.jsを使用すると、段落<p>
要素のテキスト属性にバインドされたテキストに改行を含めるにはどうすればいいですか?段落テキストのKnockout.jsカーラッジリターン
私のViewModelでは、ビューの<p>
にバインドされたテキストの文字列を生成しました。私は改行でブラウザが表示する文字列にキャリッジリターンを含めたいと思います。
文字列に<br />
またはEnvironment.NewLine
を含めても機能していないようです。
knockout.jsを使用すると、段落<p>
要素のテキスト属性にバインドされたテキストに改行を含めるにはどうすればいいですか?段落テキストのKnockout.jsカーラッジリターン
私のViewModelでは、ビューの<p>
にバインドされたテキストの文字列を生成しました。私は改行でブラウザが表示する文字列にキャリッジリターンを含めたいと思います。
文字列に<br />
またはEnvironment.NewLine
を含めても機能していないようです。
html bindingを使用できます。
JS:
function AppViewModel() {
this.firstName = "Bert<br\>Test";
this.lastName = "Bertington";
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());
ビュー:
<p>First name: <strong data-bind="html: firstName">todo</strong></p>
<p>Last name: <strong>todo</strong></p>
要素にCSSプロパティを設定する必要があります。 white-space: pre-wrap
<p style="white-space: pre-wrap">First name: <strong data-bind="text: firstName">todo</strong></p>
<p>Last name: <strong>todo</strong></p>
function AppViewModel() {
this.firstName = "Bert" + " \n " + "Test";
this.lastName = "Bertington";
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());
コードが機能します。 \n
JavaScriptがHTMLに特有のHTML文字がないため、このソリューションははるかに優れていると思います。 – Samuel
特にデータがユーザー編集のデータの場合は、HTMLソリューションでは完全に不要なWYSIWYGエディタを使用する必要があります。 –
ありがとう! –
また、あなたのバインディングを取得するためにスパンを使用することができ、その後、HTMLはいつものようになります。
ありがとうございます。パーフェクト – Martin
これを行う場合は、まだHTMLエンコードされていないコンテンツをエンコードすることを確認してください – bdukes
ありがとうございます、データバインド= "html:..."は私のために何をしたのですか? – SeanKPS