Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 嵌套复杂对象的剔除映射_Javascript_Knockout.js - Fatal编程技术网

Javascript 嵌套复杂对象的剔除映射

Javascript 嵌套复杂对象的剔除映射,javascript,knockout.js,Javascript,Knockout.js,我有一个带有子对象的viewmodel。如何定义子对象属性的映射 public class ViewModel { public ManageComparatorSelectionsViewModel ManageComparatorSelectionsViewModel { get; set; } public ManageComparatorItemViewModel CurrentComparatorItem { get; set; } } public class M

我有一个带有子对象的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; }
}

你有什么理由需要打开包装吗?通过获取属性()或执行正在查看的ko.toJS()项,始终可以获取相同的对象

编辑:

下拉列表:

<select data-bind=" template : { 'name' : 'templateID', foreach : optionlist } "></select>

使用如下所示的模板:

<script type="html/text" id="templateID">
      <option value="${ key }">${ text }</option>
</script>

${text}

您有什么理由需要打开包装吗?通过获取属性()或执行正在查看的ko.toJS()项,始终可以获取相同的对象

编辑:

下拉列表:

<select data-bind=" template : { 'name' : 'templateID', foreach : optionlist } "></select>

使用如下所示的模板:

<script type="html/text" id="templateID">
      <option value="${ key }">${ text }</option>
</script>

${text}

哦,也许我不懂正确的语法。我试图在这些数组上设置Id的原因是,DropDownList似乎得到了不必要的更新,即使数组中的任何值都没有更改。例如,如果我更新我的viewmodel并向1数组添加一个值,那么所有数组和下拉框都将刷新。如何将模型绑定到选择列表?选择一个选项?因为这将导致每次刷新。在大多数情况下,这不是一个问题,因为当下拉列表不显示时,它会在感官后面刷新。但是,如果这对您不起作用,您可以使用模板绑定。更新了主要帖子,介绍了如何进行。哦,也许我不懂正确的语法。我试图在这些数组上设置Id的原因是,DropDownList似乎得到了不必要的更新,即使数组中的任何值都没有更改。例如,如果我更新我的viewmodel并向1数组添加一个值,那么所有数组和下拉框都将刷新。如何将模型绑定到选择列表?选择一个选项?因为这将导致每次刷新。在大多数情况下,这不是一个问题,因为当下拉列表不显示时,它会在感官后面刷新。但是,如果这对您不起作用,您可以使用模板绑定。更新了主要帖子,介绍了如何进行这项工作。