我有一个视图模型,我使用敲除映射器对其进行映射,以从中创建可观察的属性。
var viewModel= {
"Name": "Josh",
"Position": "Developer",
"PersonalInfo": [{
"CashierMail": "Test@testin.com",
"Phone": "1234",
}]
}
var myViewModel = ko.mapping.fromJS(viewModel);
我有以下html:
<div>
The name is <span data-bind="text: Name"></span>
<div id="info">
Mail is <span data-bind="text: CashierMail"></span>
<br>
Position is <span data-bind="text: Position"></span>
<br>
Phone is <span data-bind="text: Phone"></span>
</div>
</div>
这是我的原始代码,仅使用来自 myViewModel 的一个绑定,它可以工作:
http://jsfiddle.net/KHFn8/837/
我想要完成的是 id 为“info”的 div 中的字段,这些字段将使用来自 Personal Info 可观察数组的数据进行填充。换句话说,如果<div id="info">
是一个组件 - 用它自己的数据源填充。
所以我尝试这样的事情:
ko.applyBindings(myViewModel);
ko.applyBindings(myViewModel.PersonalInfo[0], document.getElementById("info"));
但它不起作用。
但我想做我上面描述的事情。这是不起作用的代码:
http://jsfiddle.net/KHFn8/833/
我阅读了这个与我的案例类似的主题,但仍然无法使其工作:
Knockout.js ko.applyBindings() 层次结构绑定
我对 javascript 和淘汰赛相当陌生,任何有关工作代码的帮助将不胜感激。感谢您的时间和精力。