如何捆绑一个ko.嵌套在对象中的obersavableArray
How to bind a ko.obersavableArray that is nested in an object
我有我的knockout页面中心,我需要一个嵌套在ko.observable
对象中的ko.obeservableArray
,这就是我定义它们的地方:
function IncomeDeclarationHub() {
//data comes from a ajax call.
self.myIncomeDeclarationViewModel = ko.observable(new IncomeDeclarationViewModel(data));
}
function IncomeDeclarationViewModel(data) {
var self = this;
self.retentionAmount = ko.observable();
self.taxableMonth = ko.observable();
self.incDecDetGroViewModels = ko.observableArray();
if (data != null) {
var arrayLenght = data.IncDecDetGroViewModels.length;
for (var i = 0; i < arrayLenght; i++) {
var myObject = new IncomeDecDetGroViewModel(data.IncDecDetGroViewModels[i]);
self.incDecDetGroViewModels.push(myObject);
}
}
}
这是我的HTML代码:
<span class="label">
Retention Amount
</span>
<input data-bind="value: myIncomeDeclarationViewModel.retentionAmount" />
<table>
<tbody data-bind="foreach: myIncomeDeclarationViewModel.incDecDetGroViewModels">
...
</tbody>
</table>
好的,所以事情是incDecDetGroViewModels
从未被填充,我曾经有ko.obersableArray
外的对象,它工作得很好,现在我把它插入到我的对象myIncomeDeclarationViewModel
没有填充html表。我需要在data-bind
myIncomeDeclarationViewModel
是一个可观察对象,所以你必须打开它来访问它的属性。添加括号来展开它(访问可观察对象的底层值),如下所示:
<span class="label">
Retention Amount
</span>
<input data-bind="value: myIncomeDeclarationViewModel().retentionAmount" />
<table>
<tbody data-bind="foreach: myIncomeDeclarationViewModel().incDecDetGroViewModels">
...
</tbody>
</table>
这是一个基于你的例子的工作jsFiddle
JsFiddle
之前你可以访问它只是因为它在作用域中但现在你做了一些嵌套所以你只需要在视图部分进行一些循环来获取它
如<table data-bind="foreach:myIncomeDeclarationViewModel">
<tbody data-bind="foreach:$data.incDecDetGroViewModels">
...
</tbody>
</table>
您也可以ContainerLess foreach,如果您寻找不同的东西,如:
<!-- ko foreach:myIncomeDeclarationViewModel -->
//your table code
<!--/ko-->
我希望这能解开这个谜。
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 如何打印嵌套对象的所有值
- 设置嵌套对象属性的更好方法
- 嵌套对象结构
- 如何递归地获取嵌套对象中所有子对象的列表
- 更改嵌套对象的父子相关id
- 如何通过json对象数组为嵌套对象赋值
- Ember.js(2.5.0)如何设置嵌套对象值
- 嵌套对象文本访问父级
- 如何对两个嵌套对象进行排序
- 在javascript中使用方括号表示法的嵌套对象
- 具有嵌套对象数组的 Javascript 对象的递归搜索函数
- 更新嵌套对象的多个字段
- MongoDB嵌套对象数组后查询
- 在流星中插入嵌套对象
- 将嵌套对象数据添加到窗体中
- Chai深度包含了对嵌套对象的断言
- 使用Angular.js解析JSON中的嵌套对象数组
- 如何以编程方式添加到可变嵌套对象中
- Javascript嵌套对象访问根级别