Knockout.js 当使用单击绑定更新模型时,删除不更新视图
我正在MVC5应用程序中使用knockout 3.0,以及knockout.mapping v2.4.1库 单击按钮时,我希望更新knockout viewModel属性,并更新关联控件的值 下面是我的大项目中的一个浓缩的概念证明,它似乎不能正常工作 观点:Knockout.js 当使用单击绑定更新模型时,删除不更新视图,knockout.js,asp.net-mvc-5,knockout-mapping-plugin,Knockout.js,Asp.net Mvc 5,Knockout Mapping Plugin,我正在MVC5应用程序中使用knockout 3.0,以及knockout.mapping v2.4.1库 单击按钮时,我希望更新knockout viewModel属性,并更新关联控件的值 下面是我的大项目中的一个浓缩的概念证明,它似乎不能正常工作 观点: <div class="col-md-6"> Has College: <button data-bind="click: hasCollege">Yes</bu
<div class="col-md-6">
Has College:
<button data-bind="click: hasCollege">Yes</button>
<button data-bind="click: function () { LevelOfEducation = 'High School'; console.log('Updated LOE: ' + $data.LevelOfEducation) }">No</button>
<select data-bind="value: LevelOfEducation" id="LevelOfEducation" name="LevelOfEducation">
<option value="">Please Select</option>
<option value="GED">GED</option>
<option value="High School">High School</option>
<option value="0-23 College Credits">0-23 College Credits</option>
<option value="24-47 College Credits">24-47 College Credits</option>
<option value="Associate's Degree">Associate's Degree</option>
<option value="Bachelor's Degree">Bachelor's Degree</option>
<option value="Master's Degree">Master's Degree</option>
<option value="Doctoral Degree">Doctoral Degree</option>
</select>
<br />
<br />
<input type="text" data-bind="value: YearObtainedHSGED" />
<select data-bind="value: YearObtainedHSGED" id="YearObtainedHSGED" name="YearObtainedHSGED">
<option value="">Please Select</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
</select>
</div>
前两个按钮和第一个下拉菜单绑定到viewModel属性LevelOfEducation。当viewModel属性更改时,敲除应更新下拉列表。下拉列表预先填充了razor视图模型中的值。单击“是”时,该值应更改为所选选项0-23大学学分。单击“否”时,应将值更改回高中。根据控制台日志,模型值正在更改,但控件没有更新
相比之下,我有一个YearAcquiredHSGED绑定的文本框和下拉菜单。当一个值更改时,它会相应地更新另一个控件
单击“是/否”按钮时,如何更新“教育水平”下拉列表
我想出来了
更改淘汰视图模型的属性时,应使用:
viewModel.Property('new value');
而不是我使用的:
viewModel.Property = 'new value'; // no worky
viewModel.Property = 'new value'; // no worky