vue.js-从.NET视图模型设置初始模型值

时间:2019-04-08 18:10:33

标签: .net vue.js asp.net-core

我有这行:

<label><input style="margin-top:0" type="checkbox" asp-for="Properties.IsThisChecked" v-model="isThisChecked" /> Is This Checked?</label>
<div v-show="isThisChecked">
<!-- other code...

它绑定到Vue JS模型(isThisChecked)和.NET视图模型属性(Propertied.IsThisChecked)。我已经知道v模型会忽略HTML中的所有预设值,而是采用其初始化值。但是我需要.NET视图模型的起始值。

我怎么能得到这个?

1 个答案:

答案 0 :(得分:1)

您序列化模型并以此初始化Vue:

let data = @Html.Raw(Json.Encode(Model));
let vm = new Vue({
    ...
    data: data
});

更新

如果您不想序列化整个模型,那很好:只序列化所需的部分。在某些情况下,根本不需要序列化。例如,如果您想要的属性已经是诸如字符串或int之类的原始类型。本质上:

data: {
    someString: "@Model.SomeString",
    someInt: @Model.SomeInt,
    someList: @Html.Raw(Json.Encode(Model.SomeList)),
    // etc.
}