2013-04-24 49 views
0

我有一个名为packing的可观察项,其中包含一组属性。其中之一是名为isotopes观察到与另一个具有敲除的内容相同的内容

packing 
- description 
- type 
- ... 
- isotopes 
    - name 
    - weight 

我想创建一个单独的可观测到有相同的内容,packing.isotopes的observableArray。这种动态是如此,所以无论何时添加/删除packing.isotopes这应该也被添加/删除mycopy内。

我已经尝试:

var mycopy = ko.computed(function() { return packing.isotopes; }); 

但它不工作。 mycopyundefined

有什么想法?

谢谢。


UPDATE

下面是我的代码:

define(function (require) { 
    ... 
    var mycopy = ko.computed(function() { return packing.isotopes; }); 

    var activate = function (routeData) { 
     var idTran = parseInt(routeData.idTran); 
     var idPack = parseInt(routeData.idPack); 

     var promise = (idPack == -1) ? // -1 --> create a new empty itinerary 
         ctxTransport.createPackingDetailTransport(idTran, packing) : 
         ctxTransport.getPackingById(idPack, packing); 

     return promise 
       .then(ctxTransport.getTransportById(idTran, transport)) 
       .fail(somethingWrong); 

     function somethingWrong(error) { 
      var msg = 'Error retreiving data. ' + error.message; 
      logError(msg, error); 
      throw error; 
     } 
    } 

    var vm = { 
     activate: activate, 
     canDeactivate: canDeactivate, 
     resource: resource, 
     transport: transport, 
     packing: packing, 
     mycopy: mycopy, 
     ... 
    }; 
} 
+0

理论上这应该起作用。但是因为你没有发布完整的代码,我只能说你有一些范围问题。所以在你计算的'packing'里面没有定义......请发布一个更加紧凑的例子,你也有'packing'定义! – nemesv 2013-04-24 07:38:39

+0

我更新了我的问题,向您展示了我的代码。 – Bronzato 2013-04-24 07:48:11

回答

0

观测计算应跟踪观测等,但你没有内部的任何可观察到的呼叫。似乎你不需要computed有史以来。

var mycopy = packing.isotopes; 
相关问题