Javascript knockout.js可观察数组绑定
这是我的密码Javascript knockout.js可观察数组绑定,javascript,knockout.js,Javascript,Knockout.js,这是我的密码 <div data-bind="foreach: baselist"> <div> <span data-bind="text: basename"></span> <div data-bind="foreach: subItems"> <span data-bind="text: subitemname"></span> <a href="#"
<div data-bind="foreach: baselist">
<div>
<span data-bind="text: basename"></span>
<div data-bind="foreach: subItems">
<span data-bind="text: subitemname"></span>
<a href="#" data-bind="click: $parent.removecard">Del</a>
</div>
</div>
<button data-bind="click:addChild">Add</button>
这是我要传递给viewmodel的数据。如何将基本列表包含在此数据中?它找不到基本列表
var initialData = [{
{ basename: "Danny", subItems: [
{ subitemname: "Mobile"},
{ subitemname: "Home"}]
},
{ basename: "Sensei", subItems: [
{ subitemname: "Mobile"},
{ subitemname: "Home"}]
}];
从您提供的html中,我可以看到结构是这样的 基本列表->{(基本名称),(子项->子项名称)} 因此,您似乎只需要在初始化期间将数据传递给viewModel。并删除括号
alert(list.basename)代码>此处,因为这不是可观察的对象
var SimpleListModel2=函数(基本列表){
this.baselist=ko.observearray(baselist);
this.addChild=函数(列表){
警报(list.basename);
}.约束(本);
};
var initialData=[
{basename:“Danny”,子项:[
{子项名称:“移动”},
{子项名称:“主”}]
},
{basename:“老师”,分项:[
{子项名称:“移动”},
{子项名称:“主”}]
}];
ko.applyBindings(新的SimpleListModel2(initialData))代码>
添加
您能解释更多吗?如何在initialData中包含baselist?以便将其传递给viewmodel
var initialData = [{
{ basename: "Danny", subItems: [
{ subitemname: "Mobile"},
{ subitemname: "Home"}]
},
{ basename: "Sensei", subItems: [
{ subitemname: "Mobile"},
{ subitemname: "Home"}]
}];