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