我将开始展示我的HTML和View模型:
HTML:
<div data-bind="with: chosenDevice">
<div class="page-header">
<h3 data-bind="text: name"></h3>
</div>
<p>
<span data-bind="text: attrs().length"></span>
</p>
<ul data-bind="foreach: attrs()">
<li data-bind="text: name"></li>
</ul>
</div>
HTML绑定到chosenDevice
DeviceViewModel
对象。
查看型号:
function DeviceViewModel(device) {
var self = this;
self.name = ko.observable(device.name);
self.attrs = ko.observableArray([{name: "test1"}, {name: "test2"}, {name: "test3"}]);
}
可以打印名称text: name
,也可以打印text: attrs
的{{1}}。[object Object],[object Object],[object Object]
。当我将对象记录到控制台时,所有数据都存在。
但是当我尝试使用foreach: attrs()
时,没有任何反应? (我想要一份test1, test2, test3
的清单。
我简化了示例以便于理解,我当然可以发布完整版本。
提前致谢!
答案 0 :(得分:0)
看起来您的问题是您正在将绑定应用于viewModel
,因此Knockout无法找到chosenDevice
绑定中引用的with:
。
通过将绑定应用于viewModel.devices
,我对您的代码进行了一些here。如果没有pager
依赖关系,我认为没有足够的信息来制作一个可用的演示,但是我的更改后我没有收到任何JavaScript错误。