【发布时间】:2013-02-18 10:28:57
【问题描述】:
HTML 数据绑定设置器有问题。我希望它设置为 model(exerciseCategories) intervals 值。 如果我绑定到模型的间隔,它是正确的值,但不可观察。 如果我将它绑定到 $parent.intervals 它是 viewModel 的默认值(1),但它是可观察的。 我想要两个:)。我究竟做错了什么? 像这样的东西确实有效,但显示 [object Object]:
<td data-bind='with: exercise'>
<input data-bind='value: $parent.intervals(intervals)' />
</td>
What I've got is - HTML
...
<td>
<select data-bind='options: exerciseCategories , optionsText: "category", optionsCaption: "Izberite...", value: exerciseType'></select>
</td>
<td data-bind="with: exerciseType">
<select data-bind='options: exercises, optionsText: "title", optionsCaption: "Izberite...", value: $parent.exercise'></select>
</td>
<td data-bind='with: exercise'>
<input data-bind='value: $parent.intervals' />
</td>
...
JavaScript
var exerciseCategories = [
{
exercises: [{
title: 'Aerobic exercise #1',
intervals: 2
}],
category: 'Aerobics'
}];
var Exercise = function () {
var self = this;
self.exerciseType = ko.observable();
self.exercise = ko.observable();
self.intervals = ko.observable(1);
};
【问题讨论】:
-
您如何将数据导入您的视图模型?
-
您必须提供更多代码。我缺少带有 for: 绑定的 table 标记和您正在绑定的视图模型。我认为您正在混淆视图模型。
-
这只是摘录。整体与jsfiddle.net/rniemeyer/adNuR 几乎相同
标签: knockout.js