用于嵌套复杂对象的淘汰映射
Knockout mapping for nested Complex Objects
我有一个带有子对象的视图模型。如何定义子对象属性的映射?
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; }
}
我做了以下操作来初始化knockout
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);
你有什么理由需要打开它们吗?您总是可以通过获取属性()或通过执行ko.toJS()项来获取相同的对象。
编辑:下拉菜单:
<select data-bind=" template : { 'name' : 'templateID', foreach : optionlist } "></select>
使用如下模板:
<script type="html/text" id="templateID">
<option value="${ key }">${ text }</option>
</script>
相关文章:
- 如何在映射数组中添加换行符
- ng映射方向备选方案
- 无法通过数组映射绑定
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 淘汰搜索/筛选
- 使用Scala Play Framework视图中的键检索映射值
- 消息显示之外的淘汰验证
- 淘汰映射;不起作用
- 如何正确引用传递到淘汰中的当前元素的属性.JS
- 映射数组ES6时考虑空值
- Lodash映射并返回唯一
- 如何对映射插件创建的敲除对象进行深度复制
- 在javascript中按映射中的值排序
- 使用带有两个参数的函数的javascript映射
- 为淘汰映射添加额外的对象属性
- 淘汰映射——被映射到的类中的对象和可观察对象之间的差异
- 淘汰映射网格与动态添加项目不行为
- 用于嵌套复杂对象的淘汰映射
- 淘汰:将映射扩展到复杂的 JSON
- Ko.computed()不计算顶级对象(淘汰映射)