Breeze隐藏了来自knockoutjs的阵列

时间:2013-03-05 18:50:44

标签: knockout.js breeze

我有一张复杂的图表。在图表中有 a)具有数组和类型的类型 b)包含数组的类型数组。

我使用Breezejs加载图表并将其传递给knockoutjs(2.2.1)。

似乎我可以在a)类型的数组上做一个foreach,但是不能预测b)类型中包含的数组。换句话说,b)类型本身是循环的,并且是包含的数组的内部循环。 b)类型中的简单元素显示在knockout html输出中,但不显示在数组中。

例如:主图是医生。医生只有一个ContactInfo(类型'来自上面)类型,其中包含First / Last名称等.InsertInfo中包含地址,电话号码和电子邮件的数组。这些都使用data-bind =" foreach:ContactInfo()。地址()"

医生图中还包含医生可以归属的一系列会员资格(上面的类型' b')。 phys.Memberships []。组织包含组织的名称等。它还有一系列包含金额的费用类型(phys.Memberships []。费用[])。我可以得到组织名称但不是费用。安装。

如果我从服务器返回的json字面值并将其粘贴到变量中,消除了Breezejs对数据执行的任何魔法,使其成为ko.observables我能够访问b)类型及其内部数组,但如果我将数据从breeze调用的success方法传递到viewModel中则不会。

我粘贴了json图表,但它已超过500行。

我只是想知道这是否是breezejs的已知限制,还是我做错了什么。

这里是viewmodel:

  var PhysiciansModel = function (physicians) {
    var self = this;
    self.showPhysList = ko.observable(false),
    self.physicians = ko.observableArray(physicians);
    self.selectedPhys = ko.observable(),
    self.selectedPhysIndex = ko.observable(),
    self.selectedPhysGraph = ko.observable(),
    self.save = function () {
      saveChanges();
    };
    self.getPhysByInitial = function (item, event) {
      getPhysList(event.target.textContent);
      self.showPhysList(true);
    };
    self.clickOnPhys = function (phys, event) {
      if (self.selectedPhys() == null || (phys.Id() !== self.selectedPhys().Id())) {
        self.selectedPhys(phys);
        self.selectedPhysIndex(event.target.parentElement.parentElement.id);
        getPhysGraph(self.selectedPhys().Id());
        self.showPhysList(false);
      }
    };
  };

由于

0 个答案:

没有答案