我有一个带有子对象的viewmodel。如何定义子对象属性的映射?
public class ViewModel
{
public ManageComparatorSelectionsViewModel ManageComparatorSelectionsViewModel { get; set; }
public ManageComparatorItemViewModel CurrentComparatorItem { get; set; }
}
public class ManageComparatorSelectionsViewModel
{
public IList<Edition> Editions { get; set; }
public IList<Year> Years { get; set; }
}
public class ManageComparatorItemViewModel
{
public Edition ChosenEdition { get; set; }
public Year ChosenYear { get; set; }
}
我正在执行以下操作来初始化淘汰赛
var mapping = {
'ManageComparatorSelectionsViewModel.Editions': {
key: function (data) {
return ko.utils.unwrapObservable(data.Id);
}
},
'ManageComparatorSelectionsViewModel.Years': {
key: function (data) {
return ko.utils.unwrapObservable(data.Id);
}
}
};
var viewModel = ko.mapping.fromJS(viewModelData, mapping);
ko.applyBindings(viewModel);
答案 0 :(得分:0)
你有什么理由需要打开它吗?您可以通过获取属性()或通过执行您正在查看的 ko.toJS()项来获得相同的对象。
编辑:
下拉列表:
<select data-bind=" template : { 'name' : 'templateID', foreach : optionlist } "></select>
使用如下所示的模板:
<script type="html/text" id="templateID">
<option value="${ key }">${ text }</option>
</script>