0
在我的webapp中,我创建了三个视图模型,它们像第一个viewmodel一样嵌套,是第二个父视图,第二个是第三个父视图。现在,如果我想显示第三个视图模型的值,它给我错误,它不是定义。在我的代码LoanRateViewModel
是父母的子女是Term
和Tier
是Term
的子女。如何从父视图模型访问grandchild viewmodel?
function Tier(data){
var self = this;
self.tierValue = ko.observable(data.tierValue || "");
self.rate = ko.observable(data.rate || "121212");
self.simplerate = ko.observable(data.simplerate || "121212");
self.compoundrate = ko.observable(data.compoundrate || "12212");
}
function Term(data) {
var self = this;
self.Tiers = ko.observableArray([]);
self.loanterm = ko.observable(data.loanterm || "12");
self.termIdentifier = ko.observable(data.termIdentifier || "12");
};
这里的jsfiddle链接DEMO
我怎么能叫盛大的孩子是有可能通过基因敲除的js?
你不能跳过这样的级别 - 你怎么知道要显示哪个孙子?你必须知道它是家长。因此,请尝试使用以下内容:'LoanRateViewModel.Terms()[i] .Tiers()'其中'i'是'Tier's'父项的索引。 – 2014-09-04 12:34:50
您可以使用计算来枚举所有条款来构建所有层的数组。即使你这样做了,你也会遇到'Add Fields'的问题。你有哪些术语? – 2014-09-04 22:17:27
如果通过ui调用访问它,则可以传入事件并使用ko.contextFor(element),并且在该模型中可以访问其父项等等。 – segFault 2014-09-04 23:48:05