使用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)', ...
答案 0 :(得分:0)
在我的工作中,我们在ASP.NET MVC项目中使用Knockout,并考虑这种不好的做法。但其原因可能不适用于您。这是你必须自己判断的事情
这些原因都不适用于所有项目,因此它在很大程度上取决于上下文。我试图列出尽可能多的可能的缺点。