List 淘汰赛,同一页上有两个类似的列表
我想使用knockout.js在两个列表上应用绑定。 问题是这两个列表有相似的字段,有时名称相同。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(
每个列表都有一个表单来添加一些字段。我不知道如何分离这些列表,并在使用具体形式后添加新行以更正其中一行。我这样做的方式是使用这样一个复杂的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])代码>是的,如果您需要非常具体,并且只想在该元素上使用该模型,那么这会更好