Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
List 淘汰赛,同一页上有两个类似的列表_List_Data Binding_Knockout.js_Model - Fatal编程技术网

List 淘汰赛,同一页上有两个类似的列表

List 淘汰赛,同一页上有两个类似的列表,list,data-binding,knockout.js,model,List,Data Binding,Knockout.js,Model,我想使用knockout.js在两个列表上应用绑定。 问题是这两个列表有相似的字段,有时名称相同。 每个列表都有一个表单来添加一些字段。我不知道如何分离这些列表,并在使用具体形式后添加新行以更正其中一行。我这样做的方式是使用这样一个复杂的viewModel: var list1Model = { name: ko.observable(), type: ko.observable(), }; var list2Model = { name: ko.observable(

我想使用knockout.js在两个列表上应用绑定。 问题是这两个列表有相似的字段,有时名称相同。
每个列表都有一个表单来添加一些字段。我不知道如何分离这些列表,并在使用具体形式后添加新行以更正其中一行。

我这样做的方式是使用这样一个复杂的viewModel:

var list1Model = {
    name: ko.observable(),
    type: ko.observable(),
};

var list2Model = {
    name: ko.observable(),
    type: ko.observable(),
};

var viewModel = {
list1: list1Model,
list2: list2Model
}
然后,当您在HTML中使用它时:

    <div data-bind="with: list1">
        <div data-bind="text: name">

        </div>
        <div data-bind="text: type">

        </div>
    </div>
    <div data-bind="with: list2">
        <div data-bind="text: name">

        </div>
        <div data-bind="text: type">

        </div>
    </div>

我这样做的方式是使用复杂的viewModel,如下所示:

var list1Model = {
    name: ko.observable(),
    type: ko.observable(),
};

var list2Model = {
    name: ko.observable(),
    type: ko.observable(),
};

var viewModel = {
list1: list1Model,
list2: list2Model
}
然后,当您在HTML中使用它时:

    <div data-bind="with: list1">
        <div data-bind="text: name">

        </div>
        <div data-bind="text: type">

        </div>
    </div>
    <div data-bind="with: list2">
        <div data-bind="text: name">

        </div>
        <div data-bind="text: type">

        </div>
    </div>


我还找到了一个解决方案,它使用applyBindings到DOM元素
ko.applyBindings(viewModel.list1Model,$('#List1')[0]);ko.applyBindings(viewModel.list2Model,$('#List2')[0])是的,如果您需要非常具体,并且只想在该元素上使用该模型,那么这会更好。我还找到了一个解决方案,可以将applyBindings应用到DOM元素
ko.applyBindings(viewModel.list1Model,$('#List1')[0]);ko.applyBindings(viewModel.list2Model,$('#List2')[0])是的,如果您需要非常具体,并且只想在该元素上使用该模型,那么这会更好