是否有可能将 C# 变量写入 ko.observable() 变量?例如,我有两个带有“data-bind="checked: isEvent" 的单选按钮(true 和 false)。我需要在渲染这两个单选按钮之前使用 @Model.isEvent 初始化这个 ko.observable - "isEvent" 值, 以检查正确的单选按钮。
问问题
392 次
2 回答
2
或者,您可以将模型序列化为文档头部的单个变量,然后以这种方式访问属性,这样您就不必在视图中包含整个视图模型。
根据您的评论,这里有一个更完整的例子来说明它是如何工作的。
在您的布局页面中:
@using Newtonsoft.Json
<!-- this should already be referenced in your project, but if not use Nuget to install it -->
<!DOCTYPE html>
<head>
<title>Title</title>
<script type="text/javascript">
var model = @Html.Raw(JsonConvert.SerializeObject(Model));
//Alternatively, you can omit any serialization, and just use:
var isEvent = @Model.isEvent;
</script>
<script src="path_to_view_model.js"></script>
</head>
在您的 KO 视图模型中:
function ViewModel() {
var self = this;
self.isEvent = ko.observable(model.isEvent);
}
于 2013-06-18T13:42:21.130 回答
1
是的你可以。
isEvent = ko.observable(@Model.isEvent);
这将生成以下 javascript:
isEvent = ko.observable(true);
于 2013-06-18T13:36:45.683 回答