Knockout コンポーネント + Asp.Net MVC を使用する場合、次のスニペットは良い方法ですか? 私が見逃しているかもしれない欠点はありますか?
基本的に、Razor サーバー側レンダリングを使用して、ko コンポーネントの依存関係 (主に初期データ) の一部を注入しています...
コードスニペット:
<my-component params="{
foo: '@Model.FooProperty',
bar: '@Model.BarProperty',
baz: @Json.Encode(@Model.SomeArray)
}"> </my-component>
編集:
@Quango が指摘する文字列エスケープの問題を回避するために、次のヘルパーを実装しました。
public static stringEscapeString(this HtmlHelper helper, string value)
{
return HttpUtility.JavaScriptStringEncode(value, true);
}
使用法:
<my-component params="{
foo: '@Html.EscapeString(Model.FooString)', ...