0

在我的 web 应用程序中,我正在创建三个嵌套的视图模型,例如第一个视图模型是第二个的父级,第二个是第三个的父级。现在如果我想显示第三个视图模型的值,它会给我错误,它没有定义。在我的代码LoanRateViewModel中,父母的孩子是Term并且TierTerm.

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打电话给孙子?

4

1 回答 1

0

不幸的是,问题不在于您发布的代码*,而在于小提琴。

您想要的当然是可能的,尽管正如评论中提到的,您需要适当的嵌套才能接触到孙子,因为它们总是在某个父级 ( Term) 的上下文中。我(大部分)已经修复了你的 jsfiddle,修复了问题,直到没有错误为止。可以回答您的“问题”的一些事情是:

  • 确保正确关闭 DOM 元素(例如tabletbody);
  • 确保您参考$root了根目录上的方法(例如addTier);
  • 在表格中,确保每一行有相同数量的单元格(或使用colspan),否则你的结果会看起来很奇怪。

* 如果您编辑您的问题并包含相关的(最好是格式良好的)代码,那就太好了,这样该问题对于有类似问题的其他人仍然有用。

于 2015-05-07T07:06:02.527 回答